<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ADO.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/78/ShowForum.aspx</link><description>Θέματα σχετικά με την προσπέλαση δεδομένων μέσω του ADO.NET και του System.Data namespace</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: ADO.NET απορίες</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/56989.aspx</link><pubDate>Mon, 08 Feb 2010 03:27:42 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:56989</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/56989.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=56989</wfw:commentRss><description>&lt;P&gt;Να εξηγήσω τότε λίγο "χοντροκομμένα":&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Για να επικοινωνήσουμε με μια οποιαδήποτε βάση, θα πρέπει να ορίσουμε το context (συνεδρία) μέσω του οποίου θα γίνουν τα transactions (συναλλαγές). Αυτό το κάνουμε με το Connection object. Εδώ θα πρέπει να καθορίσουμε την βάση που θέλουμε να μιλήσουμε (αρχείο δεδομένων ή server) καθώς και τα credentials που θα μας δώσουν δικαιώματα επάνω στις συναλλαγές. Δημιουργώντας τη συνεδρία, ταυτόχρονα ορίζονται κάποιες θέσεις μνήμης που θα χρησιμοποιηθούν σαν ενδιάμεσοι χώροι αποθήκευσης δεδομένων.&lt;/LI&gt;
&lt;LI&gt;Η συναλλαγή με την βάση γίνεται με την χρήση της γλώσσας SQL. Οι εντολές που θα γράψουμε προς την βάση θα πρέπει να οριστούν, και να γίνουν οι απαραίτητες προετοιμασίες πριν στήλουμε την συναλλαγή προς την βάση. Προετοιμασίες αποτελούν, ο ορισμός τιμών σε μεταβλητές που τυχόν έχουν μέσα οι εντολές SQL που ορίσαμε να εκτελεστούν. Εδώ εισέρχεται το Command object, που του ορίζουμε το SQL κώδικα καθώς και τα δεδομένα που θέλουμε να περάσουμε προς την βάση.&lt;/LI&gt;
&lt;LI&gt;Έχοντας δημιουργήσει τη συνεδρία (connection), μπορούμε να εκτελέσουμε (execute) τον SQL κώδικα στην βάση δεδομένων. Ανάλογα με τις εντολές που έχουμε στείλει προς την βάση, είναι δυνατόν να πάρουμε πίσω ένα σύνολο αποτελεσμάτων. Αυτό αποτέλεσμα μπορούμε να το μεταφέρουμε από την βάση προς το πρόγραμμά μας με την χρήση του Reader object.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Τα τρία αυτά αντικείμενα (Connection, Command, Reader) είναι τα απολύτως απαραίτητα για να έχουμε επικοινωνία με μια βάση δεδομένων.&amp;nbsp;Οι συναλλαγές που γίνονται σε αυτά, είναι "πραγματικού χρόνου".&amp;nbsp;Μέχρι την έλευση του της πρώτης έκδοσης του .NET Framework, ήταν και τα μόνα που είχαμε για αυτή τη δουλειά.&lt;/P&gt;
&lt;P&gt;Με την πρώτη έκδοση του .NET Framework ή Microsoft θέλοντας να τονίσει, ότι οι συναλλαγές με την βάση δεδομένων, μπορεί να μην γίνονται σε πραγματικό χρόνο, είτε να γίνονται ανά τακτά χρονικά διαστήματα, με τον ενδιάμεσο χρόνο το πρόγραμμα "πελάτης" μπορεί να μην ήταν συνεχώς συνδεδεμένο με την βάση δεδομένων, έφτιαξε μια σειρά αντικειμένων που μπορούσαν να πάρουν δεδομένα από την βάση στην μνήμη που χρησιμοποιεί το πρόγραμμα "πελάτης" και να αναπαραστήσει την βάση δεδομένων (Dataset). Για να υποστηρίξει αυτό το μοντέλο έφτιαξε εκτός από το Dataset και άλλα αντικείμενα - το DataAdapter και το DataTable μεταξύ άλλων. &lt;/P&gt;
&lt;P&gt;Αυτά τα αντικείμενα επιτρέπουν, την "εν μνήμη" αναπαράσταση&amp;nbsp;μιας βάσης δεδομένων&amp;nbsp;(Dataset), με την αναπαράσταση αυτή&amp;nbsp;να&amp;nbsp;δέχεται μια έκδοση δεδομένων από την βάση, να επιτρέπει την επεξεργασία της έκδοσης με αλλαγές, προσθήκες και διαγραφές, και τέλος να συγχρονίζει την τοπική έκδοση με την βάση δεδομένων ξανά, με την αποστολή αλλαγών προς την βάση και την λήψη ενημερώσεων από αυτή, με τον ταυτόχρονο απόλυτο έλεγχο αυτής της συναλλαγής από το πρόγραμμα που φιλοξενεί το Dataset.&lt;/P&gt;
&lt;P&gt;Βέβαια η "μόδα" των Dataset δεν έγινε αποδεκτή από τους Enterprise επιπέδου προγραμματιστές που χρησιμοποιούν τις τεχνολογίες της Microsoft. Έτσι η ιστορία συνεχίζεται με τα νεότερα Data Access Frameworks, όπως το LinqToSql και το Entity Framework και ότι άλλο θα δούμε στο μέλλον...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Απ: ADO.NET απορίες</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/56987.aspx</link><pubDate>Mon, 08 Feb 2010 02:48:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:56987</guid><dc:creator>kostikas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/56987.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=56987</wfw:commentRss><description>&lt;P&gt;Δυστυχώς όχι.&lt;/P&gt;
&lt;P&gt;Και μια ακόμα απορία, όταν μιλάμε για DataTable τι σημαίνει "The table can be considered as a direct mapping to the real table in the database".&lt;/P&gt;
&lt;P&gt;Ευχαριστώ όλους σας.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: ADO.NET απορίες</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/56986.aspx</link><pubDate>Mon, 08 Feb 2010 02:43:21 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:56986</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/56986.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=56986</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;kostikas:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Προσπαθώ εδώ και μέρες να κατανοήσω το ADO.NET και επειδή είμαι μιας ηλικίας και μη γνώστης της νέας τεχνολογίας θα παρακαλούσα να μου εξηγήσεται μερικά πράγματα.&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Υπάρχει προηγούμενη εμπειρία, από ADO (v2.x) ή από DAO, ή πάτε κατευθείαν στο ADO.NET;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;BR&gt;&lt;/P&gt;</description></item><item><title>ADO.NET απορίες</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/56985.aspx</link><pubDate>Mon, 08 Feb 2010 02:02:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:56985</guid><dc:creator>kostikas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/56985.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=56985</wfw:commentRss><description>&lt;P&gt;Προσπαθώ εδώ και μέρες να κατανοήσω το ADO.NET και επειδή είμαι μιας ηλικίας και μη γνώστης της νέας τεχνολογίας θα παρακαλούσα να μου εξηγήσεται μερικά πράγματα.&lt;/P&gt;
&lt;P&gt;Διαβάζω τον παρακάτω κώδικά από ένα βιβλίο και έχω αρκετές απορίες.&lt;/P&gt;
&lt;P&gt;1) cmdString&amp;nbsp; as string ="blah blah"&lt;/P&gt;
&lt;P&gt;2) Dim sqlCommand as new SqlCommand&lt;/P&gt;
&lt;P&gt;3) Dim sqlDataAdaptor as AqlDataAdaptor&lt;/P&gt;
&lt;P&gt;4 Din sqlDataSet as DataSet&lt;/P&gt;
&lt;P&gt;5) Dim intValue as integer&lt;/P&gt;
&lt;P&gt;------------------&lt;/P&gt;
&lt;P&gt;6) sqlCommand.Connection = sqlConnection&lt;/P&gt;
&lt;P&gt;7 sqlCommand.Command.Type = CommandType.Text&lt;/P&gt;
&lt;P&gt;8) sqlCommand.Command.Text = cmdString&lt;/P&gt;
&lt;P&gt;-----------------&lt;/P&gt;
&lt;P&gt;9) &amp;nbsp;sqlDataAdapter.selectCommand = sqlCommand&lt;/P&gt;
&lt;P&gt;10) sqlDataSet = New DataSet()&lt;/P&gt;
&lt;P&gt;11) sqlDataSet.Clear()&lt;/P&gt;
&lt;P&gt;12) sqlpDataAdapter.Fill(sqlDataSet)&lt;/P&gt;
&lt;P&gt;....&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ερώτηση 1 : στo&amp;nbsp;ADO.NET έχουμε identifier case sensitivity?&lt;/P&gt;
&lt;P&gt;Ερώτηση 2 : στην γραμμή 6 τι είναι το sqlConnection Που είναι ορισμπένο?&lt;/P&gt;
&lt;P&gt;Ερώτηση&amp;nbsp;3 : στην γραμμή&amp;nbsp;7 τι είναι το CommandType.Text Που είναι ορισμπένο?&lt;/P&gt;
&lt;P&gt;Τέλος θα ήθελα να ρωτήσω το εξής. &lt;/P&gt;
&lt;P&gt;Ποιά η διαφορά πρόσβασης σε Datatable&amp;nbsp;το οποίο&amp;nbsp;εμπεριέχεται σε dataset (μέσω dataAdapter) από την πρόσβαση&amp;nbsp;σε&amp;nbsp;απλό&amp;nbsp;DataTable&amp;nbsp;&amp;nbsp;μέσω Command Parameters?&lt;/P&gt;
&lt;P&gt;Κωστίκας&lt;/P&gt;</description></item></channel></rss>