<?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>Sync Databases over HTTP με JSON</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/77456.aspx</link><pubDate>Fri, 06 Nov 2015 17:56:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:77456</guid><dc:creator>Harkon</dc:creator><slash:comments>1</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/77456.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=77456</wfw:commentRss><description>&lt;p&gt;Καλημέρα σας,&lt;/p&gt;&lt;p&gt;&amp;nbsp;ποια είναι η γνώμη σας για συγχρονισμό βάσεων δεδομένων (πχ SqlServer &amp;nbsp;&amp;lt;-&amp;gt; SqlServer) μέσω http με τη χρήση JSON?&lt;/p&gt;&lt;p&gt;Δηλαδή να κάνω serialize τα data στην 1η βάση, POST σε ένα url το οποίο να τα κάνει deserialize και insert στην 2η βάση;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Γενικά είναι καλή τακτική ή όχι;&lt;/p&gt;&lt;p&gt;Ευχαριστώ&amp;nbsp;&lt;/p&gt;</description></item><item><title>MS SQL - Transaction Log is Full</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/74573.aspx</link><pubDate>Mon, 04 Nov 2013 21:16:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:74573</guid><dc:creator>Harkon</dc:creator><slash:comments>1</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/74573.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=74573</wfw:commentRss><description>&lt;p&gt;Καλησπέρα σας,&lt;/p&gt;&lt;p&gt;&amp;nbsp;κάνω συγχρονισμό μεταξύ 2 βάσεων MSSQL σε συγκεκριμένους πίνακες. &lt;/p&gt;&lt;p&gt;Γίνεται χρήση WebServices σε VB.NET.&amp;nbsp;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Σε όλους τους πίνακες (μεταξύ των οποίων και κάποιοι με αρκετές χιλιάδες εγγραφές) λειτουργεί κανονικά ενώ σε έναν μόνο συγκεκριμένο πίνακα (με εγγραφές όχι τόσες πολλές σε όγκο) χτυπάει το error : "Transaction Log is Full". Γιατί συμβαίνει αυτό και ειδικά σε συγκεκριμένο πίνακα;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Τι να κοιτάξω απο ρυθμίσεις σε κώδικα-βάση που μπορεί να κάνει αυτό τον πίνακα ξεχωριστό; Τι προτείνετε να κάνω;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Σας ευχαριστώ &amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Connection string WPF σε online βάση δεδομένων</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/73067.aspx</link><pubDate>Sat, 13 Jul 2013 00:05:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:73067</guid><dc:creator>kalogeros</dc:creator><slash:comments>10</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/73067.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=73067</wfw:commentRss><description>&lt;p&gt;Καλησπέρα! Θα ήθελα να ρωτήσω αν ξέρει κανένας ποια είναι η σωστότερη σύνταξη του connection string σε online βάση δεδομένων;
Εγώ το έχω γράψει με την παρακάτω μορφή: &lt;/p&gt;&lt;p&gt;&lt;b&gt;Data Source=#.#.#.#;Database=myDatabase;User Id=myUserid;Password=#########&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Και παίρνω μήνυμα λάθους το οποίο είναι το παρακάτω:&lt;/p&gt;&lt;p&gt;Παρουσιάστηκε ένα σφάλμα δικτύου ή ένα σφάλμα που αφορά μια συγκεκριμένη παρουσία κατά τη δημιουργία μιας σύνδεσης σε SQL Server. Δεν ήταν δυνατή η εύρεση του διακομιστή ή ο διακομιστής δεν ήταν προσβάσιμος. Βεβαιωθείτε ότι το όνομα παρουσίας είναι σωστό και ότι ο SQL Server έχει ρυθμιστεί ώστε να επιτρέπει τις απομακρυσμένες συνδέσεις. (provider: SQL Network Interfaces, error: 26 - Προσδιορίστηκε σφάλμα εντοπισμού διακομιστή/περιόδου λειτουργίας) &lt;/p&gt;&lt;p&gt;&amp;nbsp;Ξέρει κάποιος να μου πει αν αυτό είναι λόγω του connection string ή λόγω ρυθμίσεων του hosting server. Ευχαριστώ εκ των προτέρων. &lt;br&gt;&lt;/p&gt;</description></item><item><title>map MySql field into MS SQL Server + data transfer</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/71947.aspx</link><pubDate>Wed, 16 Jan 2013 04:14:46 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:71947</guid><dc:creator>Harkon</dc:creator><slash:comments>13</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/71947.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=71947</wfw:commentRss><description>Καλησπέρα σας,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;έχω μια βάση δεδομένων mysql-5 με κάποιους πίνακες και θέλω απλά να κάνω dump τα δεδομένα σε πίνακες του MS SQL Server 2008.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Δημιούργησα ακριβώς τους ίδιους πίνακες με τα ίδια πεδία. Για αρχή, έχω πρόβλημα με ένα πεδίο:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre;"&gt;		&lt;/span&gt;Field Name&lt;span class="Apple-tab-span" style="white-space:pre;"&gt;	&lt;/span&gt;Type&lt;/div&gt;&lt;div&gt;MySql:&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space:pre;"&gt;	&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;Total&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space:pre;"&gt;		&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;decimal(15,4)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:10pt;"&gt;MSSql:&lt;span class="Apple-tab-span" style="white-space:pre;"&gt;	&lt;/span&gt;-//-&lt;span class="Apple-tab-span" style="white-space:pre;"&gt;			&lt;/span&gt;το δοκίμασα αρχικά&amp;nbsp;&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;decimal(15,4) και μετά και numeric(15,4)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:10pt;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;(Άσχετο: η mysql είχε πολλά πεδία τύπου int(11) και τα έκανα map σε numeric(11,0) καλά έκανα; )&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Παίρνω τα δεδομένα της mysql μέσα σε ένα dataset και το κάνω parse για να βάλω μια-μια τις εγγραφές στον MS Sql.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'mazi me oles tis params exoyme kai ayti pou me endiaferei&lt;/span&gt;
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; p43 &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;New&lt;/span&gt; SqlParameter(&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@total"&lt;/span&gt;, SqlDbType.&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Decimal&lt;/span&gt;)
p43.Precision &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; 4
p43.Size &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; 15

&lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'parakatw...&lt;/span&gt;
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; myDataRow &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; DataRow

&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;For&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Each&lt;/span&gt; myDataRow &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;In&lt;/span&gt; dSet.Tables(0).Rows

   &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'as poyme pws exei mono ayto to field..&lt;/span&gt;
   sql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"INSERT INTO [order](total) VALUES(@total)"&lt;/span&gt;
 
   &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;With&lt;/span&gt; cmd
      p43.Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;IIf&lt;/span&gt;(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;IsDBNull&lt;/span&gt;(myDataRow(&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"total"&lt;/span&gt;)), DBNull.Value, myDataRow(&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"total"&lt;/span&gt;))
      .Parameters.&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Add&lt;/span&gt;(p43)
      .CommandText &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; sql
      .ExecuteNonQuery()

      .Parameters.&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Clear&lt;/span&gt;()
   &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;End&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;With&lt;/span&gt;

&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;Στην πρώτη εγγραφή που είναι να βάλει μέσα, η τιμή του πεδίου total στη mysql είναι:&amp;nbsp;124.2300 και παίρνω το μήνυμα λάθους:&amp;nbsp;&lt;/div&gt;&lt;div&gt;"Parameter value '124.2300' is out of range"&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Τι φταίει;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;υγ: αν πάω παραπάνω στον κώδικα και βάλω με το χέρι, p43.Value = 0 &amp;nbsp;&lt;/div&gt;&lt;div&gt;τότε παίζει κανονικά.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Ευχαριστώ&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;</description></item><item><title>Αποθήκευση Εικόνας από BLOB</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/71738.aspx</link><pubDate>Wed, 12 Dec 2012 18:24:13 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:71738</guid><dc:creator>Harkon</dc:creator><slash:comments>5</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/71738.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=71738</wfw:commentRss><description>Καλημέρα σας,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;έχω μια βάση σε MS SQL Server 2008 και ένα View που μέσα σε όλα, μας επιστρέφει ένα BLOB που περιέχει δεδομένα για εικόνες (τα δεδομένα είναι από ERP).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Προσπαθώ να σώσω τα δεδομένα σε πραγματικές εικόνες με χρήση του παρακάτω κώδικα:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; sql &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;String&lt;/span&gt;
            
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'SAVE BLOB AS IMAGE&lt;/span&gt;
            sql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SELECT ItemGID,ItemCode,ImageBlobData"&lt;/span&gt; _
                &amp;amp; &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;" FROM Items"&lt;/span&gt; _
                &amp;amp; &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;" WHERE ImageBlobData is not null"&lt;/span&gt;

            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; thisCommand &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;New&lt;/span&gt; SqlCommand(sql, cnSource)

            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; thisReader &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; SqlDataReader &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; thisCommand.ExecuteReader()

            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; MyData() &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Byte&lt;/span&gt;
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; K &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Long&lt;/span&gt;
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; fs &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; FileStream
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; file_name &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;String&lt;/span&gt;

            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;While&lt;/span&gt; (thisReader.Read())
                MyData &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; thisReader(2)
                K &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;UBound&lt;/span&gt;(MyData)
                file_name &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; GET_IMAGE_FOLDER &amp;amp; thisReader(1) &amp;amp; &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"."&lt;/span&gt; &amp;amp; GET_IMAGE_TYPE
                fs &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;New&lt;/span&gt; FileStream(file_name, FileMode.Create)
                fs.&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Write&lt;/span&gt;(MyData, 0, K)
                fs.Close()
                fs &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Nothing&lt;/span&gt;
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;End&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;While&lt;/span&gt;

            thisReader.Close()&lt;/span&gt;&lt;/pre&gt;Οι εικόνες αποθηκεύονται σωστά με βάση την επέκταση που του έχω ορίσει (.jpg).&lt;/div&gt;&lt;div&gt;Όταν ανοίξω την εικόνα μέσα από το preview των Windows παίζει κανονικά. Όταν όμως την ανοίξω από Photoshop βγάζει error από την αρχή μόλις την επιλέξεις.&lt;/div&gt;&lt;div&gt;Αποτέλεσμα, όταν πάει να δει την εικόνα από site δεν την εμφανίζει παρά ένα κενό πλαίσιο.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Τι κάνω λάθος;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Ευχαριστώ&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;</description></item><item><title>Control Displaying Headers</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/71676.aspx</link><pubDate>Wed, 05 Dec 2012 21:34:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:71676</guid><dc:creator>glioutas</dc:creator><slash:comments>2</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/71676.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=71676</wfw:commentRss><description>&lt;div&gt;Καλησπέρα στην κοινότητα,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Δουλεύω πάνω σε ένα c# project στο οποίο φτιάχνω το header ενός grid με extend από το &amp;lt;listview&amp;gt; control&amp;nbsp;&lt;/div&gt;&lt;div&gt;για να δώσω επιπλέον λειτουργικότητα. Στην περίπτωση που το control είναι row header μπορώ να εμφανίσω&lt;/div&gt;&lt;div&gt;μεγάλο αριθμό από στοιχεία (100.000 χωρίς πρόβλημα). Το ζήτημα είναι ότι όταν το control είναι column header,&amp;nbsp;&lt;/div&gt;&lt;div&gt;όπου το πλήθος των στοιχείων περιορίζεται, ενώ θα πρέπει να είναι ικανό&amp;nbsp;&lt;/div&gt;&lt;div&gt;να αναπαραστά πολύ μεγαλύτερο πλήθος στηλών π.χ. 1.000.000.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Έχει παρατηρηθεί ότι για αριθμό στηλών 1000, εμφανίζει μόνο τις 559.Για μεγαλύτερο αριθμό αργεί χαρακτηριστικά.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Μια πρόχειρη δοκιμή που έκανα με το QT δεν φαίνεται να υπάρχει κάποιο θέμα.&lt;/div&gt;&lt;div&gt;Επισυνάπτω μια εικόνα που το δείχνει το αποτέλεσμά του και ζητώ να φτιάξω κάτι αντίστοιχο στο Visual Studio.&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;br&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Οποιαδήποτε βοήθεια είναι επιθυμητή.&lt;/div&gt;&lt;div&gt;Γιώργος&lt;/div&gt;</description></item><item><title>Entity Framework Massive Update</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70958.aspx</link><pubDate>Mon, 23 Jul 2012 08:49:45 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70958</guid><dc:creator>koslyr</dc:creator><slash:comments>3</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70958.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70958</wfw:commentRss><description>
Θέλω σε ένα table στον SQL-Server να κάνω update τρια fields σε, σύνολο περίπου 5.000.000 εγγραφών .&lt;br&gt;Για την επικοινωνία με την βάση χρησιμοποιώ το Entity Framework και για το update μάλλον θα κάνω χρήση της LINQ (http://www.ezineasp.net/post/LINQ-to-Entities-Update-Operation-using-C-Sharp.aspx).&lt;br&gt;Όμως επειδή το σύνολο των εγγραφών που θελω να ενημερώσω είναι αρκετά μεγάλο σκεφτόμουνα μήπως τελικά είναι προτιμότερο από άποψη performance να επιλέξω τον παλιό παραδοσιακό ADO.Net με Dataset &amp;amp; DataAdapter ή καλύτερα να παραμείνω στο EF για ομοιογένεια.&lt;br&gt;</description></item><item><title>One or More Entity Data Models</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70820.aspx</link><pubDate>Tue, 10 Jul 2012 07:30:17 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70820</guid><dc:creator>koslyr</dc:creator><slash:comments>9</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70820.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70820</wfw:commentRss><description>Εχω μια Βαση Δεδομένων σε MS-SQLSERVER 2008 R2 με περίπου 80 πίνακες. Σκεφτομαι να χρησιμοποίησω το EF για να παραγω το αντιστοιχο Entity Model της βάσης μου, ώστε όλο αυτό το Data Access Layer να ενταχθεί ακολούθως σε ένα dll.&lt;br&gt;Το ερώτημά μου είναι εάν θα ήταν προτιμότερο για καλύτερο performance να εχω διαφορα Entities Models που θα περιλαμβάνουν ορισμένους πίνακες από την Βάση (σύμφωνα με τις βασικές εργασίες που θα εκτελώ) και όχι ένα Entity Model με όλους τους 80 πίνακες. &lt;br&gt;Φαντάζομαι στην δευτερη περίπτωση που θα έχω μονο ενα Model με όλα τα αντιστοιχα objects, οταν θα δηλώνω instances αυτού ίσως δημιουργείται κάποια υποβάθμιση στο performance του application.&lt;br&gt;&lt;br&gt;</description></item><item><title>EF4: Αυτόματο Generation κλάσεων που δεν κάνουν Inherit από το EntityObject αλλά από κάποια άλλη κλάση.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70139.aspx</link><pubDate>Fri, 27 Apr 2012 03:02:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70139</guid><dc:creator>pontifikas</dc:creator><slash:comments>6</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70139.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70139</wfw:commentRss><description>Πώς θα μπορούσα να το κάνω αυτό χωρίς να χρειάζεται κάθε φορά που κάνω μια αλλαγή/προσθήκη στην βάση μου, να μοντάρω &lt;br&gt;κάποιο Τ4 template;&lt;br&gt;&lt;br&gt;Ευχαριστώ.&lt;br&gt;</description></item><item><title>Best Practise για GRUD operation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/69994.aspx</link><pubDate>Thu, 12 Apr 2012 22:43:57 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:69994</guid><dc:creator>koslyr</dc:creator><slash:comments>18</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/69994.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=69994</wfw:commentRss><description>Σχεδόν το 99% των web applications που έχω αναπτύξει έχουν από πίσω τους μια βάση δεδομένων (MSSQLServer, MSAccess, MySQL). &lt;br&gt;Θεωρώ ότι όλοι μας θα θέλαμε ο κώδικας των ενεργειών (select, insert, update, delete) που διαχειρίζεται τα δεδομένα της βάσης να είναι τυποιημένος με τον βέλτιστο τρόπο, ώστε να μας επιτρέπει την άμεση επαναχρησιμοποίηση τόσο εντός του ίδιου του project όσο και σε διάφορα ανεξάρτητα μεταξύ τους project.&lt;br&gt;&lt;br&gt;&lt;b&gt;1)&lt;/b&gt; Έχοντας για παράδειγμα την γνωστή βάση &lt;i&gt;Northwind&lt;/i&gt;, αρχικά ξεκίνησα ενδεικτικά την τοποποίηση αυτή φτιάχνοντας μια class &lt;i&gt;clsProducts.cs&lt;/i&gt; για την διαχείριση του πίνακα Products:&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;"&gt;1&lt;br&gt;2&lt;br&gt;3&lt;br&gt;4&lt;br&gt;5&lt;br&gt;6&lt;br&gt;7&lt;br&gt;8&lt;br&gt;9&lt;br&gt;10&lt;br&gt;11&lt;br&gt;12&lt;br&gt;13&lt;br&gt;14&lt;br&gt;15&lt;br&gt;16&lt;br&gt;17&lt;br&gt;18&lt;br&gt;19&lt;br&gt;20&lt;br&gt;21&lt;br&gt;22&lt;br&gt;23&lt;br&gt;24&lt;br&gt;25&lt;br&gt;26&lt;br&gt;27&lt;br&gt;28&lt;br&gt;29&lt;br&gt;30&lt;br&gt;31&lt;br&gt;32&lt;br&gt;33&lt;br&gt;34&lt;br&gt;35&lt;br&gt;36&lt;br&gt;37&lt;br&gt;38&lt;br&gt;39&lt;br&gt;40&lt;br&gt;41&lt;br&gt;42&lt;br&gt;43&lt;br&gt;44&lt;br&gt;45&lt;br&gt;46&lt;br&gt;47&lt;br&gt;48&lt;br&gt;49&lt;br&gt;50&lt;br&gt;51&lt;br&gt;52&lt;br&gt;53&lt;br&gt;54&lt;br&gt;55&lt;br&gt;56&lt;br&gt;57&lt;br&gt;58&lt;br&gt;59&lt;br&gt;60&lt;br&gt;61&lt;br&gt;62&lt;br&gt;63&lt;br&gt;64&lt;br&gt;65&lt;br&gt;66&lt;br&gt;67&lt;br&gt;68&lt;br&gt;69&lt;br&gt;70&lt;br&gt;71&lt;br&gt;72&lt;br&gt;73&lt;br&gt;74&lt;br&gt;75&lt;br&gt;76&lt;br&gt;77&lt;br&gt;78&lt;br&gt;79&lt;br&gt;80&lt;br&gt;81&lt;br&gt;82&lt;br&gt;83&lt;br&gt;84&lt;br&gt;85&lt;br&gt;86&lt;br&gt;87&lt;br&gt;88&lt;br&gt;89&lt;br&gt;90&lt;br&gt;91&lt;br&gt;92&lt;br&gt;93&lt;br&gt;94&lt;br&gt;95&lt;br&gt;96&lt;br&gt;97&lt;br&gt;98&lt;br&gt;99&lt;br&gt;100&lt;br&gt;101&lt;br&gt;102&lt;br&gt;103&lt;br&gt;104&lt;br&gt;105&lt;br&gt;106&lt;br&gt;107&lt;br&gt;108&lt;br&gt;109&lt;br&gt;110&lt;br&gt;111&lt;br&gt;112&lt;br&gt;113&lt;br&gt;114&lt;br&gt;115&lt;br&gt;116&lt;br&gt;117&lt;br&gt;118&lt;br&gt;119&lt;br&gt;120&lt;br&gt;121&lt;br&gt;122&lt;br&gt;123&lt;br&gt;124&lt;br&gt;125&lt;br&gt;126&lt;br&gt;127&lt;br&gt;128&lt;br&gt;129&lt;br&gt;130&lt;br&gt;131&lt;br&gt;132&lt;br&gt;133&lt;br&gt;134&lt;br&gt;135&lt;br&gt;136&lt;br&gt;137&lt;br&gt;138&lt;br&gt;139&lt;br&gt;140&lt;br&gt;141&lt;br&gt;142&lt;br&gt;143&lt;br&gt;144&lt;br&gt;145&lt;br&gt;146&lt;br&gt;147&lt;br&gt;148&lt;br&gt;149&lt;br&gt;150&lt;br&gt;151&lt;br&gt;152&lt;br&gt;153&lt;br&gt;154&lt;br&gt;155&lt;br&gt;156&lt;br&gt;157&lt;br&gt;158&lt;br&gt;159&lt;br&gt;160&lt;br&gt;161&lt;br&gt;162&lt;br&gt;163&lt;br&gt;164&lt;br&gt;165&lt;br&gt;166&lt;br&gt;167&lt;br&gt;168&lt;br&gt;169&lt;br&gt;170&lt;br&gt;171&lt;br&gt;172&lt;br&gt;173&lt;br&gt;174&lt;br&gt;175&lt;br&gt;176&lt;br&gt;177&lt;br&gt;178&lt;br&gt;179&lt;br&gt;180&lt;br&gt;181&lt;br&gt;182&lt;br&gt;183&lt;br&gt;184&lt;br&gt;185&lt;br&gt;186&lt;br&gt;187&lt;br&gt;188&lt;br&gt;189&lt;br&gt;190&lt;br&gt; &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; ClsProducts&lt;br&gt;{&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; strSql;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; strCon;&lt;br&gt;    &lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;long&lt;/span&gt; productid;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; productname;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;long&lt;/span&gt; supplierid;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;long&lt;/span&gt; categoryid;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;float&lt;/span&gt; unitprice;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;int&lt;/span&gt; quantity;&lt;br&gt;&lt;br&gt;    &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Property read-only&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;long&lt;/span&gt; ProductID&lt;br&gt;    {&lt;br&gt;        set { productid &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; value; }&lt;br&gt;        get { &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; productid; }&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; ProductName&lt;br&gt;    {&lt;br&gt;        set { productname &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; value; }&lt;br&gt;        get { &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; productname; }&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;long&lt;/span&gt; SupplierID &lt;br&gt;    {&lt;br&gt;        set { supplierid &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; value; }&lt;br&gt;        get { &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; supplierid; }&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;long&lt;/span&gt; CategoryID&lt;br&gt;    {&lt;br&gt;        set { categoryid &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; value; }&lt;br&gt;        get { &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; categoryid; }&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;float&lt;/span&gt; UnitPrice&lt;br&gt;    {&lt;br&gt;        set { unitprice &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; value; }&lt;br&gt;        get { &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; unitprice; }&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;int&lt;/span&gt; Quantity&lt;br&gt;    {&lt;br&gt;        set { quantity &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; value; }&lt;br&gt;        get { &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; quantity; }&lt;br&gt;    } &lt;br&gt;    &lt;br&gt;    &lt;br&gt;    &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// TODO: Add constructor logic here&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; ClsProducts()&lt;br&gt;	{&lt;br&gt;      strCon &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; ClsWebConfig.GetConnectionString();&lt;br&gt;	}&lt;br&gt;&lt;br&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; SetSqlQuery(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;int&lt;/span&gt; CategoryID=-1)&lt;br&gt;        {&lt;br&gt;            strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SELECT ProductID, Products.CategoryID, Products.SupplierID, ProductName, CategoryName, CompanyName, UnitPrice, UnitsInStock "&lt;/span&gt;;&lt;br&gt;            strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"FROM Categories INNER JOIN (Suppliers INNER JOIN Products ON Suppliers.SupplierID = Products.SupplierID) ON Categories.CategoryID = Products.CategoryID "&lt;/span&gt;;&lt;br&gt;            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; (CategoryID !&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; -1)&lt;br&gt;            {&lt;br&gt;               strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"WHERE Products.CategoryID="&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; CategoryID &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;" "&lt;/span&gt;;&lt;br&gt;            }&lt;br&gt;            strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"ORDER by CategoryName, CompanyName, ProductName "&lt;/span&gt;;&lt;br&gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; strSql;&lt;br&gt;        }&lt;br&gt;&lt;br&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; DataSet FetchCategoryType()&lt;br&gt;    {&lt;br&gt;        strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SELECT CategoryID, CategoryName FROM Categories"&lt;/span&gt;;&lt;br&gt;        OleDbDataAdapter da &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbDataAdapter(strSql, strCon);&lt;br&gt;        DataSet ds &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; DataSet();&lt;br&gt;        da.Fill(ds);&lt;br&gt;        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; ds;&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; DataSet FetchSuppliersType()&lt;br&gt;    {&lt;br&gt;        strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SELECT SupplierID, CompanyName FROM Suppliers"&lt;/span&gt;;&lt;br&gt;        OleDbDataAdapter da &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbDataAdapter(strSql,strCon);&lt;br&gt;        DataSet ds &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; DataSet();&lt;br&gt;        da.Fill(ds);&lt;br&gt;        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; ds;&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;//Make the Insert&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; Insert()&lt;br&gt;    {&lt;br&gt;        strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"INSERT INTO Products (ProductName, SupplierID, CategoryID, UnitPrice, UnitsInStock) "&lt;/span&gt;;&lt;br&gt;        strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"VALUES (@productname, @supplierid, @categoryid, @unitprice, @quantity)"&lt;/span&gt;;&lt;br&gt;        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Connection&lt;/span&gt;&lt;br&gt;        OleDbConnection MyCnn &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbConnection(strCon);&lt;br&gt;       &lt;br&gt;        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Command&lt;/span&gt;&lt;br&gt;        OleDbCommand MyCmd &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbCommand(strSql, MyCnn);&lt;br&gt;        MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@productname"&lt;/span&gt;, OleDbType.VarChar, 40).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; productname;&lt;br&gt;        MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@supplierid"&lt;/span&gt;, OleDbType.BigInt).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; supplierid;&lt;br&gt;        MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@categoryid"&lt;/span&gt;, OleDbType.BigInt).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; categoryid;&lt;br&gt;        MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@unitprice"&lt;/span&gt;, OleDbType.Double).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; unitprice;&lt;br&gt;        MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@quantity"&lt;/span&gt;, OleDbType.Integer).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; quantity;&lt;br&gt;&lt;br&gt;        MyCnn.Open();&lt;br&gt;        MyCmd.ExecuteNonQuery();&lt;br&gt;        MyCnn.Close();&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;//Make the Update&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; Update()&lt;br&gt;    {&lt;br&gt;        strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"UPDATE Products "&lt;/span&gt;;&lt;br&gt;        strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SET ProductName=@productname, SupplierID=@supplierid, CategoryID=@categoryid, "&lt;/span&gt;;&lt;br&gt;        strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"UnitPrice=@unitprice, UnitsInStock=@quantity "&lt;/span&gt;;&lt;br&gt;        strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"WHERE ProductID=@productid"&lt;/span&gt;;&lt;br&gt;        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Connection&lt;/span&gt;&lt;br&gt;        OleDbConnection MyCnn &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbConnection(strCon);&lt;br&gt;        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;try&lt;/span&gt;&lt;br&gt;        {&lt;br&gt;            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Command&lt;/span&gt;&lt;br&gt;            OleDbCommand MyCmd &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbCommand(strSql, MyCnn);&lt;br&gt;            MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@productname"&lt;/span&gt;, OleDbType.VarChar, 40).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; productname;&lt;br&gt;            MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@supplierid"&lt;/span&gt;, OleDbType.BigInt).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; supplierid;&lt;br&gt;            MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@categoryid"&lt;/span&gt;, OleDbType.BigInt).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; categoryid;&lt;br&gt;            MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@unitprice"&lt;/span&gt;, OleDbType.Double).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; unitprice;&lt;br&gt;            MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@quantity"&lt;/span&gt;, OleDbType.Integer).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; quantity;&lt;br&gt;            MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@productid"&lt;/span&gt;, OleDbType.BigInt).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; productid;&lt;br&gt;&lt;br&gt;            MyCnn.Open();&lt;br&gt;            MyCmd.ExecuteNonQuery();&lt;br&gt;        }&lt;br&gt;        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;catch&lt;/span&gt; (Exception err)&lt;br&gt;        {&lt;br&gt;            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;throw&lt;/span&gt; err;&lt;br&gt;        }&lt;br&gt;        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;finally&lt;/span&gt;&lt;br&gt;        {&lt;br&gt;            MyCnn.Close();&lt;br&gt;        }&lt;br&gt;&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;//Make the Update(Product-UnitPrice)&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; UpdateProductUnitPrice()&lt;br&gt;    {&lt;br&gt;        strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"UPDATE Products "&lt;/span&gt;;&lt;br&gt;        strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SET UnitPrice=@unitprice "&lt;/span&gt;;&lt;br&gt;        strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"WHERE ProductID=@productid"&lt;/span&gt;;&lt;br&gt;        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Connection&lt;/span&gt;&lt;br&gt;        OleDbConnection MyCnn &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbConnection(strCon);&lt;br&gt;        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;try&lt;/span&gt;&lt;br&gt;        {&lt;br&gt;            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Command&lt;/span&gt;&lt;br&gt;            OleDbCommand MyCmd &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbCommand(strSql, MyCnn);  &lt;br&gt;            MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@unitprice"&lt;/span&gt;, OleDbType.Double).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; unitprice;&lt;br&gt;            MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@productid"&lt;/span&gt;, OleDbType.BigInt).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; productid;&lt;br&gt;&lt;br&gt;            MyCnn.Open();&lt;br&gt;            MyCmd.ExecuteNonQuery();&lt;br&gt;        }&lt;br&gt;        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;catch&lt;/span&gt; (Exception err)&lt;br&gt;        {&lt;br&gt;            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;throw&lt;/span&gt; err;&lt;br&gt;        }&lt;br&gt;        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;finally&lt;/span&gt;&lt;br&gt;        {&lt;br&gt;            MyCnn.Close();&lt;br&gt;        }&lt;br&gt;&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;//Make the Delete&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; Delete()&lt;br&gt;    {&lt;br&gt;        strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"DELETE From Products WHERE ProductID=@productid"&lt;/span&gt;;&lt;br&gt;        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Connection&lt;/span&gt;&lt;br&gt;        OleDbConnection MyCnn &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbConnection(strCon);&lt;br&gt;        MyCnn.Open();&lt;br&gt;        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Command&lt;/span&gt;&lt;br&gt;        OleDbCommand MyCmd &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbCommand(strSql, MyCnn);&lt;br&gt;        MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@productid"&lt;/span&gt;, OleDbType.Integer).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; productid;&lt;br&gt;        MyCmd.ExecuteNonQuery();&lt;br&gt;        MyCnn.Close();&lt;br&gt;     }&lt;br&gt;    }&lt;br&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Στο UI στην ASPX σελίδα χρησιμοποίησα το γνωστό Data-Bound Control GridView για την εμφάνιση/διαχείριση των data, καθορίζοντας στα κατάλληλα events τις αντίστοιχες ρουτίνες στο code-behind file (.apsx.cs):
&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:GridView&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="GrdEditProducts"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;runat&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="server"&lt;/span&gt;
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CssClass&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Gridview"&lt;/span&gt;
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AlternatingRowStyle-CssClass&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Alt"&lt;/span&gt;
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DataKeyNames&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="ProductID, CategoryID, SupplierID"&lt;/span&gt;
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AutoGenerateColumns&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="false"&lt;/span&gt;
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Showfooter&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="True"&lt;/span&gt;
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AllowPaging&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="True"&lt;/span&gt;
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;PageSize&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="10"&lt;/span&gt;
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OnPageIndexChanging&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="GrdEditProducts_PageIndexChanging"&lt;/span&gt; 
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OnRowCommand&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="GrdEditProducts_RowCommand"&lt;/span&gt; 
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OnRowDatabound&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="GrdEditProducts_RowDataBound"&lt;/span&gt; 
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OnRowDeleting&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="GrdEditProducts_RowDeleting"&lt;/span&gt; 
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OnRowCancelingedit&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="GrdEditProducts_RowCancelingEdit"&lt;/span&gt; 
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OnRowEditing&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="GrdEditProducts_RowEditing"&lt;/span&gt; 
                      &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OnRowUpdating&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="GrdEditProducts_RowUpdating"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
             &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Columns&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:TemplateField&lt;/span&gt; 
                           &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Visible&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="false"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;%# Eval("ProductId") %&amp;gt;&lt;/span&gt;
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:TemplateField&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:TemplateField&lt;/span&gt; 
                           &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Visible&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="false"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;%# Eval("CategoryId") %&amp;gt;&lt;/span&gt;
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:TemplateField&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:TemplateField&lt;/span&gt; 
                           &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Visible&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="false"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;%# Eval("SupplierId") %&amp;gt;&lt;/span&gt;
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:TemplateField&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:TemplateField&lt;/span&gt; 
                            &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;HeaderText&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Product Name"&lt;/span&gt;
                            &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;itemstyle-horizontalalign&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Left"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;    
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:Label&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="lblProductName"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;runat&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="server"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Text&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;='&amp;lt;%# Eval("ProductName") %&amp;gt;'&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;EditItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:TextBox&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="txtProductName"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;runat&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="server"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Text&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;='&amp;lt;%# Bind("ProductName") %&amp;gt;'&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:RequiredFieldValidator&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Rfd1"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;runat&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="server"&lt;/span&gt; 
                                     &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ControlToValidate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="txtProductName"&lt;/span&gt;
                                     &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SetFocusOnError&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="true"&lt;/span&gt;
                                     &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Display&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="None"&lt;/span&gt;
                                     &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ErrorMessage&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Product Name: You must provide the Name"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:RequiredFieldValidator&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;EditItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FooterTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:TextBox&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="txtProductNameNew"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;runat&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="server"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt; 
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FooterTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:TemplateField&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                      ....................
                               &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:Button&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="btnEdit"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Text&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Edit"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CommandName&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Edit"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Runat&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Server"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Font-Size&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="7pt"&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt;
                               &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:Button&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="btnDelete"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Text&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Delete"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CommandName&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Delete"&lt;/span&gt;  &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OnClientClick&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="return confirm('Are you sure you want to delete this distribution?');"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Runat&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Server"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Font-Size&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="7pt"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt;
                            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;EditItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                               &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:Button&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="btnUpdate"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Text&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Update"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CommandName&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Update"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Runat&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Server"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Font-Size&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="7pt"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt;
                               &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:Button&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="btnCancel"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Text&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Cancel"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CommandName&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Cancel"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Runat&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Server"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Font-Size&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="7pt"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt;
                            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;EditItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FooterTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                               &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:Button&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="btnAddNew"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Text&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="AddNew"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CommandName&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="AddNew"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Runat&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Server"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Font-Size&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="7pt"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt;
                            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FooterTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:TemplateField&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
             &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Columns&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:GridView&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Ενδεικτικά στο code-behind της συγκεκριμένης σελίδας, δηλώνονταν το object της class και τα κατάλληλα events handlers.&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; partial &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; WebForm3 : System.Web.UI.Page
    {
        ClsBindControls BindControls &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; ClsBindControls();
        ClsProducts Products &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; ClsProducts();

        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;protected&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; Page_Load(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt; sender, EventArgs e)
        {
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; (!Page.IsPostBack)
            {
                &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Populate the DropDownList &lt;/span&gt;
                BindControls.SetDropDownList(DdlCategory, &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Categories"&lt;/span&gt;, &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"CategoryName"&lt;/span&gt;, &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"CategoryID"&lt;/span&gt;, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;true&lt;/span&gt;, &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"All Categories"&lt;/span&gt;, -1);
                &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Populate the GridView&lt;/span&gt;
                BindControls.SetGridView(GrdEditProducts, Products.SetSqlQuery(Convert.ToInt32(DdlCategory.SelectedItem.Value)));
            }
        }
 &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;protected&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; GrdEditProducts_RowCommand(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt; sender, GridViewCommandEventArgs e)
        {
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; (e.CommandName.Equals(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"AddNew"&lt;/span&gt;))
            {
                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; (Page.IsValid == &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;false&lt;/span&gt;) &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt;;

                TextBox TxtProductName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; (TextBox)GrdEditProducts.FooterRow.FindControl(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"txtProductNameNew"&lt;/span&gt;);
                DropDownList DdlCategory &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; (DropDownList)GrdEditProducts.FooterRow.FindControl(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"ddlCategoryNew"&lt;/span&gt;);
                DropDownList DdlSupplier &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; (DropDownList)GrdEditProducts.FooterRow.FindControl(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"ddlSupplierNew"&lt;/span&gt;);
                TextBox TxtUnitPrice &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; (TextBox)GrdEditProducts.FooterRow.FindControl(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"txtUnitPriceNew"&lt;/span&gt;);
                TextBox TxtQuantity &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; (TextBox)GrdEditProducts.FooterRow.FindControl(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"txtQuantityNew"&lt;/span&gt;);
                
                Products.ProductName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; TxtProductName.Text;
                Products.CategoryID &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; Convert.ToInt32(DdlCategory.SelectedItem.Value);
                Products.SupplierID &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; Convert.ToInt32(DdlSupplier.SelectedItem.Value);
                Products.UnitPrice &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;float&lt;/span&gt;.Parse(TxtUnitPrice.Text);
                Products.Quantity &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; Convert.ToInt16(TxtQuantity.Text);
                
                Products.Insert();
                BindControls.SetGridView(GrdEditProducts, Products.SetSqlQuery(Convert.ToInt32(DdlCategory.SelectedItem.Value)));
            } 
        }


        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;protected&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; GrdEditProducts_RowEditing(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt; sender, GridViewEditEventArgs e)
        {
            GrdEditProducts.EditIndex &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; e.NewEditIndex;
            BindControls.SetGridView(GrdEditProducts, Products.SetSqlQuery(Convert.ToInt32(DdlCategory.SelectedItem.Value)));
        }&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Η συγκεκριμένη υλοποίηση είχε αρκετά αρνητικά σημεία, ειδικά στον ορισμό όλων των events στο code-behind file.&lt;br&gt;&lt;br&gt;&lt;b&gt;2) &amp;nbsp; &lt;/b&gt;Χρήση του &lt;b&gt;ObjectDataSource&lt;/b&gt; μεταξύ τα Data-Source(database) και του Data-Bound Control(GridView)&lt;br&gt;Αρχικά χρησιμοποιήθηκε εκ νέου μια κλάση για τον ορισμό των ενεργειών προς της βάση δεδομένων.&lt;br&gt;&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; Methods
    {
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; strSql;
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; strCon;
        
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// TODO: Add constructor logic here&lt;/span&gt;
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; Methods()
	    {
            strCon &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; MasterDataJQuery.ClsWebConfig.GetConnectionString();
	    }

        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; DataSet GetCategories()
        {
            strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SELECT CategoryID, CategoryName FROM Categories ORDER BY CategoryName"&lt;/span&gt;;
            OleDbDataAdapter da &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbDataAdapter(strSql, strCon);
            DataSet ds &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; DataSet();
            da.Fill(ds);
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; ds;
        }

        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; DataSet GetSuppliers()
        {
            strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SELECT SupplierID, CompanyName FROM Suppliers ORDER BY CompanyName"&lt;/span&gt;;
            OleDbDataAdapter MyDa &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbDataAdapter(strSql, strCon);
            DataSet MyDs &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; DataSet();
            MyDa.Fill(MyDs);
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; MyDs;
        }

        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; DataSet GetProductDetail(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;long&lt;/span&gt; ProductID)
        {
            strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SELECT ProductID, Products.CategoryID as CategoryID, Products.SupplierID as SupplierID, ProductName, CategoryName, CompanyName, UnitPrice, UnitsInStock as Quantity "&lt;/span&gt;;
            strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"FROM Categories INNER JOIN (Suppliers INNER JOIN Products ON Suppliers.SupplierID = Products.SupplierID) ON Categories.CategoryID = Products.CategoryID "&lt;/span&gt;;
            strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"WHERE ProductID=@ProductID "&lt;/span&gt;;

            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Connection&lt;/span&gt;
            OleDbConnection MyCnn &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbConnection(strCon);
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Command&lt;/span&gt;
            OleDbCommand MyCmd &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbCommand(strSql, MyCnn);
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create DataAdapter&lt;/span&gt;
            OleDbDataAdapter MyDa &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbDataAdapter();
            MyDa.SelectCommand &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; MyCmd;
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Define Parameteres&lt;/span&gt;
            MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@ProductID"&lt;/span&gt;, OleDbType.BigInt).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; ProductID;
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create &amp;amp; Fill DataSet&lt;/span&gt;
            DataSet MyDs &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; DataSet();
            MyDa.Fill(MyDs);
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; MyDs;
        }

        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; DataSet GetProductsByCategory(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;long&lt;/span&gt; CategoryID)
        {
            strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SELECT ProductID, Products.CategoryID as CategoryID, ProductName, CategoryName, UnitPrice, UnitsInStock as Quantity "&lt;/span&gt;;
            strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID "&lt;/span&gt;;
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; (CategoryID !&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; -1)
               {
                   strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"WHERE Products.CategoryID=@CategoryID "&lt;/span&gt;;
               }
            strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"ORDER by CategoryName,ProductName "&lt;/span&gt;;

            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Connection&lt;/span&gt;
            OleDbConnection MyCnn &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbConnection(strCon);
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Command&lt;/span&gt;
            OleDbCommand MyCmd &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbCommand(strSql, MyCnn);
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create DataAdapter&lt;/span&gt;
            OleDbDataAdapter MyDa &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbDataAdapter();
            MyDa.SelectCommand &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; MyCmd;
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Define Parameteres&lt;/span&gt;
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// MyCmd.Parameters.AddWithValue("@CategoryID", ProductProperties.CategoryID.ToString());&lt;/span&gt;
            MyCmd.Parameters.Add(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@CategoryID"&lt;/span&gt;, OleDbType.BigInt).Value &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; CategoryID;
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create &amp;amp; Fill DataSet&lt;/span&gt;
            DataSet MyDs &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; DataSet();
            MyDa.Fill(MyDs);
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; MyDs;
        }

        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; Update(Properties ProductPrperties)
        {
            strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt;  &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"UPDATE Products "&lt;/span&gt;;
            strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SET ProductName=@ProductName, SupplierID=@SupplierID, CategoryID=@CategoryID, "&lt;/span&gt;;
            strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"UnitPrice=@UnitPrice, UnitsInStock=@Quantity "&lt;/span&gt;;
            strSql += &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"WHERE ProductID=@ProductID"&lt;/span&gt;;
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Connection&lt;/span&gt;
            OleDbConnection MyCnn &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbConnection(strCon);
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;try&lt;/span&gt;
            {
                &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Command&lt;/span&gt;
                OleDbCommand MyCmd &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbCommand(strSql, MyCnn);
                
                MyCmd.Parameters.AddWithValue(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@ProductName"&lt;/span&gt;, ProductPrperties.ProductName);
                MyCmd.Parameters.AddWithValue(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@SupplierID"&lt;/span&gt;, ProductPrperties.SupplierID);
                MyCmd.Parameters.AddWithValue(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@CategoryID"&lt;/span&gt;, ProductPrperties.CategoryID);
                &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;//MyCmd.Parameters.Add("@UnitPrice",OleDbType.Currency).Value = ProductPrperties1.UnitPrice;&lt;/span&gt;
                MyCmd.Parameters.AddWithValue(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@UnitPrice"&lt;/span&gt;, Convert.ToDecimal(ProductPrperties.UnitPrice));
                MyCmd.Parameters.AddWithValue(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@Quantity"&lt;/span&gt;, ProductPrperties.Quantity);
                MyCmd.Parameters.AddWithValue(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@ProductID"&lt;/span&gt;, ProductPrperties.ProductID);

                MyCnn.Open();
                MyCmd.ExecuteNonQuery();
            }
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;catch&lt;/span&gt; (Exception err)
            {
                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;throw&lt;/span&gt; err;
            }
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;finally&lt;/span&gt;
            {
                MyCnn.Close();
            }
        }

        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; Delete(Properties ProductPrperties)
        {
            strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"DELETE From Products WHERE ProductID=@productid"&lt;/span&gt;;
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Connection&lt;/span&gt;
            OleDbConnection MyCnn &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbConnection(strCon);
            MyCnn.Open();
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create Command&lt;/span&gt;
            OleDbCommand MyCmd &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbCommand(strSql, MyCnn);
            MyCmd.Parameters.AddWithValue(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@ProductID"&lt;/span&gt;, ProductPrperties.ProductID);
            MyCmd.ExecuteNonQuery();
            MyCnn.Close();
        }

    }


    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; Properties
    {
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;long&lt;/span&gt; ProductID { get; set; }
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; ProductName { get; set; }
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;long&lt;/span&gt; SupplierID { get; set; }
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;long&lt;/span&gt; CategoryID { get; set; }
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;decimal&lt;/span&gt; UnitPrice { get; set; }
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;long&lt;/span&gt; Quantity { get; set; }
    }
}&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Με βάση την παραπάνω κλάση ορίστηκαν στο ObjectDataSource οι αντίστοιχες ρουτίνες για τις γνωστές ενέργειες (select, insert, update, delete).&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;%--ODS for DetailsView--%&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:ObjectDataSource&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="OdsProductDetail"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;runat&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="server"&lt;/span&gt;
             &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DataObjectTypeName&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Product.Properties"&lt;/span&gt;
             &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TypeName&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Product.Methods"&lt;/span&gt;
             &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OldValuesParameterFormatString&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="{0}"&lt;/span&gt;
             &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;UpdateMethod&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Update"&lt;/span&gt;
             &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DeleteMethod&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Delete"&lt;/span&gt;
             &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SelectMethod&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="GetProductDetail"&lt;/span&gt; 
             &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OnSelecting&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="OdsProductDetail_Selecting"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:ObjectDataSource&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;%--GridView--%&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:GridView&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="GrdProduct"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;runat&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="server"&lt;/span&gt;
             &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CssClass&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Gridview"&lt;/span&gt;
             &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AlternatingRowStyle-CssClass&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Alt"&lt;/span&gt;
             &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DataSourceID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="OdsProductList"&lt;/span&gt;
             &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DataKeyNames&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="ProductID"&lt;/span&gt;
             &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AutoGenerateColumns&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="false"&lt;/span&gt;
             &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OnSelectedIndexchanged&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="GrdProduct_SelectedIndexChanged"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
             &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Columns&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:BoundField&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DataField&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="ProductID"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Visible&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="false"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:BoundField&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DataField&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="GategoryID"&lt;/span&gt;  &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Visible&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="false"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:BoundField&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DataField&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="ProductName"&lt;/span&gt; 
                           &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;HeaderText&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Product Name"&lt;/span&gt; 
                           &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemStyle-HorizontalAlign&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Left"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:BoundField&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DataField&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="CategoryName"&lt;/span&gt; 
                           &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;HeaderText&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Category Name"&lt;/span&gt; 
                           &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemStyle-HorizontalAlign&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Left"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:BoundField&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DataField&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="UnitPrice"&lt;/span&gt; 
                           &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;HeaderText&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Unit Price"&lt;/span&gt; 
                           &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemStyle-HorizontalAlign&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Right"&lt;/span&gt;
                           &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DataFormatString&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="{0:c1}"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:TemplateField&lt;/span&gt;
                           &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;HeaderText&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=""&lt;/span&gt;
                           &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FooterStyle-BackColor&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="#E0E0E0"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:Button&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="btnDetails"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Runat&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Server"&lt;/span&gt; 
                                     &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Text&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Details"&lt;/span&gt; 
                                     &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CommandName&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Select"&lt;/span&gt; 
                                     &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Font-Size&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="7pt"&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt;  
                           &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:TemplateField&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt; 
             &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Columns&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;asp:GridView&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Σημαντικό πλεονέκτημα στην παρούσα υλοποίηση&lt;b&gt; η μη χρηση κώδικα στο code-behind file για τον καθοριμό των αντίστοιχων events handlers, καθως όλη την δουλεια αυτήν την αναλαμβάνει από μόνο του το ODS.&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;3) &lt;/b&gt;Χρήση &lt;b&gt;JQuery με Ajax-call&lt;/b&gt;, όπου καλλώ ασύχρονα από τον client τις αντίστοιχες ρουτίνες που έχω στο object της κλάσης clProdutcs.cs μέσω WebService (.asmx) ή απευθείας με PageMethod από τη aspx σελίδα. &lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt; &amp;lt;script type=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"text/javascript"&lt;/span&gt;&amp;gt;
         $(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; () {
         &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; GetAllCategories() {
                  &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;var&lt;/span&gt; ddlCategory &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; $('#DdlCategories');
                  $.ajax({
                        type: &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"POST"&lt;/span&gt;,
                        contentType: &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"application/json; charset=utf-8"&lt;/span&gt;,
                        url: &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"WSProducts.asmx/GetAllGategories"&lt;/span&gt;,
                        data: &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"{}"&lt;/span&gt;,
                        dataType: &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"json"&lt;/span&gt;,
                        success: &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; (response) {
                                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;var&lt;/span&gt; Categories &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; jQuery.parseJSON(response.d);
                                $.each(Categories.Table, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; (&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;index&lt;/span&gt;, Category) {
                                    ddlCategory.append('&amp;lt;option value=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"' + Category.CategoryID + '"&lt;/span&gt;&amp;gt;' &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; Category.CategoryName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; '&amp;lt;/option&amp;gt;');
                                });
                        },
                        error: &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; (msg) {
                            alert(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Error"&lt;/span&gt;);
                        }
                    });
         
         }
     &amp;lt;/script&amp;gt;    &lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;&lt;br&gt;Θα με ενδιέφερε να γινόνταν αναφορά και σε άλλες εναλλακτικές υλοποίησεις, που ενδεχομένως&amp;nbsp; εκτελούν με καλύτερο τρόπο την επικοινωνία με την βάση δεδομένων για WebForms (ίσως για MVC θα υπάρχουν άλλες προτεινόμενες υλοποιήσεις)&lt;br&gt;.&lt;br&gt;Προσωπικά αποτερος στόχος η δυνατότητα δημιουργίας ενός reusable component (.dll) που θα μπορώ να το χρησιμοποιώ με reference&amp;nbsp; σε οποιοδήποτε project που έχει επικοινωνία με βάση δεδομένων και με ελάχιστο κώδικα να υλοποιώ άμεσα τις βασικές GRUD (Create, Retrieve, Update, Delete) λειτουργίες.&lt;br&gt;&amp;nbsp; &lt;br&gt;&lt;br&gt;</description></item><item><title>Entity Framework 5.0 Performance Improvements</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70021.aspx</link><pubDate>Tue, 17 Apr 2012 03:07:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70021</guid><dc:creator>nikolaosk</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70021.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70021</wfw:commentRss><description>Χρησιμοποιώ το (πολύ ώριμο πλέον) ORM Entity FrameWork σαν το data access layer για τις περισσότερες εφαρμογές μου. Πάντα υπήρχε το θέμα του performance για το EF όπως και για κάθε ORM.Όπως και να το δούμε το &lt;b&gt;EF&lt;/b&gt; στην ουσία δημιουργεί ένα ακόμα layer (layer of abstraction) και αυτό από μόνο του προσδίδει κάποιο overhead.&lt;br&gt;&lt;br&gt;Πρόσφατα το &lt;b&gt;ADO.Net team&lt;/b&gt; στο blog τους ανακοίνωσαν τα improvements που έχουν γίνει στο performance στο EF 5.0. Μπορείτε να διαβάσετε περισσότερα &lt;a href="http://blogs.msdn.com/b/adonet/archive/2012/02/14/sneak-preview-entity-framework-5-0-performance-improvements.aspx"&gt;εδώ&lt;/a&gt; . Ένα από τα πιο σημαντικά improvements είναι το&lt;b&gt; automatic compilation of LINQ to Entities queries&lt;/b&gt;.Παρόλο που υπήρχε η δυνατότητα να κάνουμε compile τα LINQ queries και στο παρελθόν , πολλοί developers δεν ήξεραν καν την δυνατότητα αυτή.Στο δικό μου blog είχα γράψει ένα post που εξηγούσα πως να κάνουμε &lt;a href="http://weblogs.asp.net/dotnetstories/archive/2011/03/10/enhancing-performance-in-entity-framework-applications-by-precompiling-linq-to-entities-queries.aspx"&gt;precompile LINQ to Entities queries&amp;nbsp; &lt;br&gt;&lt;/a&gt;&lt;br&gt;Ένα επίσης πολύ καλό άρθρο για τα EF 5.0 performance considerations μπορείτε να βρείτε &lt;a href="http://msdn.microsoft.com/en-us/data/hh949853"&gt;εδώ&lt;/a&gt;&lt;br&gt;</description></item><item><title>Πρόβλημα με DataColumn Expression</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66842.aspx</link><pubDate>Fri, 19 Aug 2011 19:58:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66842</guid><dc:creator>dpant</dc:creator><slash:comments>8</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66842.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=66842</wfw:commentRss><description>Εχω την εξής απορία:&lt;br&gt;&lt;br&gt;&lt;b&gt;Γιατί δεν λειτουργούν τα lookup columns στα typed datasets;&lt;/b&gt; Πιο συγκεκριμμένα, μέσω του dataset designer, προσθέτω ένα νεό column στο DataTable και στο Expression property γράφω: &lt;br&gt;&lt;br&gt;&lt;font face="Courier New"&gt;Parent(FK_SalesTerritory_SalesPerson).Name &lt;/font&gt;&lt;br&gt;&lt;br&gt;ώστε τo column να επιστρέφει το όνομα του Territory απο τον parent πίνακα μέσω της σχέσης FK_SalesTerritory_SalesPerson την οποία και έχω ορίσει επίσης μέσω στον designer. &lt;br&gt;&lt;br&gt;Ο παραπάνω τρόπος για υλοποίηση lookup columns μου φαίνεται ωραίος αν και ξέρω οτι θα μπορούσε να γίνει π.χ. με ενα JOIN στο SELECT command. Όμως δεν δουλεύει. Όταν πάω να γεμίσω ένα GridView (σε μια aspx σελίδα) με τα data (μέσω ObjectDataSource συνδεδεμένο με το DataTableAdapter) εμφανίζεται το εξής μύνημα κατά την εκτέλεση: "Cannot find parent relationship FK_SalesTerritory_SalesPerson".&lt;br&gt;&lt;br&gt;Το πρόβλημα αυτό έχει αναφερθεί στα φόρουμ πολλάκις εδω και χρόνια και λύση δεν έχει βρεθεί. &lt;br&gt;&lt;br&gt;Τελικά έχει λυθεί αυτό το πρόβλημα ή οχι;&lt;br&gt;&lt;br&gt;Ελπίζω να λάβω μια απάντηση αν και ξέρω οτι σε αυτά τα φόρουμ η συχνότητα απαντήσεων είναι .... απειροελάχιστη &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-6.gif" alt="Sad" /&gt;&lt;br&gt;</description></item><item><title>Πρόβλημα με δεκαδικά</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66843.aspx</link><pubDate>Fri, 19 Aug 2011 22:15:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66843</guid><dc:creator>lexicon</dc:creator><slash:comments>4</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66843.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=66843</wfw:commentRss><description>&lt;p&gt;Εχω μια βάση δεδομένων access και ένα πεδίο με τυπο currency&lt;/p&gt;&lt;p&gt;Ο server που φιλοξενεί τις σελίδες είναι Windows 2003 και έχει τοπικές ρυθμίσεις Ελληνικά&lt;/p&gt;&lt;p&gt;Εχω μια σελίδα η οποία έχει 2 πεδια text και ενα button το οποίο κάνει πρόσθεση τους αριθμούς στα 2 πεδία και το αποτέλεσμα το εισάγει στην βάση&lt;/p&gt;&lt;p&gt;Το ΄πρώτο πεδίο το φορτώνει απο την βάση και το δεύτερο το γράφω εγώ&lt;/p&gt;&lt;p&gt;το πρόβλημα είναι οτι όταν βλέπει κόμμα για δεκαδικό περνάει τον αριθμό για χιλιάδες και βγάζει λάθος άθροισμα&lt;/p&gt;&lt;p&gt;Αν βάλω τους αριθμούς με τελεία για δεκαδικό κάνει σωστά την πράξη, αλλά αποθηκεύει στην βάση με κόμμα αντι τελεία&lt;/p&gt;&lt;p&gt;Καμια ιδέα κανείς?&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Entity Framework Code First - Loading related Entities</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/65802.aspx</link><pubDate>Tue, 17 May 2011 05:15:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:65802</guid><dc:creator>xabikos</dc:creator><slash:comments>1</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/65802.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=65802</wfw:commentRss><description>Εδώ και λίγο καιρό προσπαθώ να κάνω ένα μικρό παράδειγμα χρησιμοποιώντας το Entity Framework για την επικοινωνία με την βάση δεδομένων. Να πω ότι έχω μια σχετική εμπειρία με NHibernate γι αυτό και προτιμώ να δουλέψω με το code first αν και η ερώτησή μου μάλλον υπάρχει και στις άλλες μεθοδολογίες (model first, database first). Αυτό που θέλω να ρωτήσω είναι αν υπάρχει μια βέλτιστη λύση για το πως ανακτούμε ένα ολόκληρο object graph; Έχω δει αρκετά παραδείγματα αλλά δε νομίζω πως έχω πετύχει τον καλύτερο τρόπο. Για να γίνω πιο συγκεκριμένος θα παραθέσω αρκετό κώδικα που ελπίζω να κάνει τα πράγματα πιο κατανοητά. &lt;br&gt;&lt;br&gt;Έχω τις εξής τρεις κλάσεις:&lt;br&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; Field {
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;virtual&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; Description { get; set; }
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;virtual&lt;/span&gt; Region Region { get; set; }
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;virtual&lt;/span&gt; IList&amp;lt;Crop&amp;gt; Crops { get; set;}
}

&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; Region {
	&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;virtual&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; Description {get; set; }
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;virtual&lt;/span&gt; Region Parent {get; 	set; }
	&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;virtual&lt;/span&gt; IList&amp;lt;Region&amp;gt; Children {get; set;}
}

&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; Crop{
	&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;virtual&lt;/span&gt; Field Field { get; set;}
	&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;virtual&lt;/span&gt; CropKind Kind { get; set; }
}&lt;/span&gt;&lt;/pre&gt;Όπου σαν βασική οντότητα είναι η Field που έχει ένα property Region που είναι μια δενδρική δομή και επίσης έχει μια λίστα με πολλά crops που με την σειρά τους δείχνουν και αυτά σε μια άλλη κλάση τύπου CropKind που για λόγους συντομίας δεν την έγραψα. Αυτό που θέλω να μάθω είναι πως μπορώ να ανακτώ όλες τις συσχετίσεις όταν ανακτώ κάποιο συγκεκριμένο Field. Αυτό που κάνω τώρα είναι το εξής&lt;br&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; Field Retrieve(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;long&lt;/span&gt; id) {
	&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;using&lt;/span&gt; (var context &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; FieldsContext(&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"TestCodeFirst"&lt;/span&gt;)) {
		&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; context.Fields
		.Include(field =&amp;gt; field.Region)
		.Include(field =&amp;gt; field.Region.Parent)
		.Include(field =&amp;gt; field.Region.Children)
		.Include(field =&amp;gt; field.Region.Parent.Children)
		.Include(field =&amp;gt; field.Crops)
		.Include(field =&amp;gt; field.Crops.Select(crop =&amp;gt; crop.Kind))
		.Include(field =&amp;gt; field.Crops.Select(crop =&amp;gt; crop.Variety))
		.Include(field =&amp;gt; field.Crops.Select(crop =&amp;gt; crop.Variety.Kind))
		.FirstOrDefault(field =&amp;gt; field.ID == id);
	}
}&lt;/span&gt;&lt;/pre&gt;Κάνει αυτό που θέλω αλλά δεν μου φαίνεται σαν τον ιδανικό τρόπο. Βέβαια και στο επίσημο &lt;a href="http://blogs.msdn.com/b/adonet/"&gt;blog&lt;/a&gt; του Entity Framework &lt;a href="http://blogs.msdn.com/b/adonet/archive/2011/01/31/using-dbcontext-in-ef-feature-ctp5-part-6-loading-related-entities.aspx"&gt;αυτόν&lt;/a&gt; το τρόπο δείχνει. Μήπως μου διαφεύγει κάτι. Να παραθέσω και το configuration που τρέχει κατά την δημιουργία του context&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; FieldConfiguration : EntityTypeConfiguration&amp;lt;Field&amp;gt; {
	&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; FieldConfiguration() {
			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.Property(p =&amp;gt; p.Description).HasColumnName(DataAccesConstants.DESCRIPTION_COLUMN_NAME);
	                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.HasOptional(p =&amp;gt; p.Region).WithMany().Map(mc =&amp;gt; mc.MapKey(FieldConstants.REGION_ID_COLUMN_NAME));
		}
}

&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; RegionConfiguration : EntityTypeConfiguration&amp;lt;Region&amp;gt; {
	&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; RegionConfiguration() {
		&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.Property(p =&amp;gt; p.Description).HasColumnName(DataAccesConstants.DESCRIPTION_COLUMN_NAME);
		&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.HasOptional(r =&amp;gt; r.Parent).WithMany(r =&amp;gt; r.Children).Map(mc =&amp;gt; mc.MapKey(RegionConstants.PARENT_ID_COLUMN_NAME));
	}
}

&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; CropConfiguration : EntityTypeConfiguration&amp;lt;Crop&amp;gt; {
	&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; CropConfiguration() {
		&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.HasRequired(p =&amp;gt; p.Field).WithMany(c =&amp;gt; c.Crops).Map(mc =&amp;gt; mc.MapKey(CropConstants.FIELD_ID_COLUMN_NAME));
		&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.HasRequired(p =&amp;gt; p.Kind).WithMany().Map(mc =&amp;gt; mc.MapKey(CropConstants.CROPKIND_ID_COLUMN_NAME));
	}
}&lt;/span&gt;&lt;/pre&gt;Βέβαια αυτό που έχω καταλάβει είναι ότι οι σχέσεις που ορίζεις σε αυτά τα configurations λαμβάνονται υπόψιν κυρίως για την δημιουργία της βάσης αν αυτή γίνεται από το Entity framework και όχι για την ανάκτηση των δεδομένων και στην συνέχεια την δημιουργία των αντικειμένων. Θα ήθελα τις συμβουλές σας και για την κυρίως ερώτηση αλλά και για ότι άλλο χωράει βελτίωση αλλαγή. &lt;br&gt;&lt;br&gt;Σας ευχαριστώ προκαταβολικά.&amp;nbsp; &lt;br&gt;</description></item><item><title>εναλλακτική του SQLCommandBuilder?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/65578.aspx</link><pubDate>Fri, 06 May 2011 02:07:53 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:65578</guid><dc:creator>Johnnyxp64</dc:creator><slash:comments>16</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/65578.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=65578</wfw:commentRss><description>&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight:normal;"&gt;hi all&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;ως τωρα κανω χρηση sqlcommandbuilder &amp;nbsp;για να μπορω να ενημερωνω πισω στην βαση αλλαγες που εγιναν σε ενα datatable.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;ο commandbuilder μεσω του "select" ερωτηματος παραγει τα υπολοιπα queries (update,delete etc) ως γνωστον αυτοματα. ομως αν το ερωτημα εχει innerjoin και το datatable πεδια απο περισσοτερους απο ενα πινακα δεν μπορει να γραψει πισω στην βαση. Θελω μια ενναλακτική για αυτο παρακαλω.&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;εχω ενα core γραμμενο που κανει χρηση sqlcommandbuilder για να μπορει απο ενα SELECT query να φτιαξει τα υπολοιπα (update/insert/delete) και να κανει ευκολα μια ενημερωση ενος datatable.&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;η αναγκες της εφαρμογής ειναι πολυ μικρες και το λεω για να μην μπουμε στο τρυπακι ο quirebuilder ειναι λιγο αργος, δεν εχουμε πληρη ελεγχο στα ερωτηματα που παραγει κτλ κτλ.&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;&lt;br&gt;&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;την δουλεια του την κανει πολυ γρηγορα και οκ, μα εχει ενα μεγαλο μειωνεκτιμα&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;&lt;br&gt;&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;ειναι αχριστος οταν στο select ερωτημα εχουμε inner join με αλλα tables. δεν&amp;nbsp;μπορεί&amp;nbsp;να&amp;nbsp;ενημερώνει&amp;nbsp;πανω&amp;nbsp;από&amp;nbsp;ενα&amp;nbsp;πίνακα.&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;&lt;br&gt;&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;θα&amp;nbsp;ήθελα&amp;nbsp;απο την ποιο "τσαπατσουλιά"* λύση&amp;nbsp;μεχρι και την ποιο&amp;nbsp;επιστημονική&amp;nbsp;να&amp;nbsp;ακούσω&amp;nbsp;για&amp;nbsp;εναλλακτικές ή workarrounds,&amp;nbsp;&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;XPO? και αν ναι πως?&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;&lt;br&gt;&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;να σας δωσω και το τι θελω να κανω ωστε να εχεται καλητερη εικονα, ισως προτεινεται κατι αλλο.&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;εφαρμογη σε vb.net 2008 .net 3.5 sp1&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;&lt;br&gt;&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;θελουμε μια φορμα που ο admin χρηστης θα "πετα" ενα sql select ερωτημα που εχει ετοιμασει και αυτο οσο συνθετο και αν ειναι θα του επιστρεφει δεδομένα (datatable, xpo persistant object class, θα ναι δεν ξερω οτι να ναι) αρεκει να ειναι ολα παντα σε runtime, και τα αποτελεσματα αυτα τα περνω σε ενα xtragrid τα αλλαζω και αποθηκευω πισω Αμεσω χωρίς να εχω γραψει ουτε άλλο query ουτε να εχω κωδικα για αυτο, διοτι πολυ απλα ειναι κατι αρκετα δυναμικο. ολα αυτα τωρα τα εχω και παιζουν ΑΨΟΓΑ, αλλα μεχρι ενα datatable και ερωτηματα που δεν εχουν μεσα τους inner joins.&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;&lt;br&gt;&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;θελω τα φωτα σας&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;&lt;br&gt;&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;ευχαριστω.&lt;/div&gt;&lt;div&gt;&lt;strike&gt;&lt;br&gt;&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;&lt;br&gt;&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;&lt;br&gt;&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;*το τονιζω αυτο διοτι δεν προκειτε να εχω χρονο 1μηνα ουτε θα πληρωθω για αυτο εξτρα, οποτε οσο λιγοτερο "κοπιασω" τοσο το καλητερο. δεν ειναι καν νεο εργο. αλλα θα αντικατασταθει πολυ αργοτερα.&lt;/strike&gt;&lt;/div&gt;</description></item><item><title>"The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine." </title><link>https://www.dotnetzone.gr:443/cs/forums/thread/65248.aspx</link><pubDate>Tue, 19 Apr 2011 01:32:29 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:65248</guid><dc:creator>karag27</dc:creator><slash:comments>8</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/65248.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=65248</wfw:commentRss><description>Έχω μια web εφαρμογή σε ΝΕΤ 2008 όπου διαβάζω δεδομένα από ένα αρχείο Excel (2003) και τα μεταφέρω στον sql Server...&lt;br&gt;Δουεύει κανονικά σε server 32 - bit&amp;nbsp; win 7&amp;nbsp; αλλα σε 64 - bit win 7 server&amp;nbsp; εμφανίζεται το παρακάτω σφάλμα.. "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine." &lt;br&gt;&lt;br&gt;Υπάρχει καμια λύση που προτείνεται?&lt;br&gt;</description></item><item><title>EF 4 / υποστήριξη POCO </title><link>https://www.dotnetzone.gr:443/cs/forums/thread/64341.aspx</link><pubDate>Sun, 20 Mar 2011 02:18:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:64341</guid><dc:creator>Underwater</dc:creator><slash:comments>6</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/64341.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=64341</wfw:commentRss><description>&lt;P style="MARGIN:0in 0in 10pt;" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language:EL;"&gt;Τώρα που &lt;/SPAN&gt;EF&lt;SPAN style="mso-ansi-language:EL;"&gt; στο .&lt;/SPAN&gt;net&lt;SPAN style="mso-ansi-language:EL;"&gt; 4.0 έχουν υποστήριξη για &lt;/SPAN&gt;POCO,&lt;SPAN style="mso-ansi-language:EL;"&gt; &lt;SPAN&gt;είναι δυνατόν τα &lt;/SPAN&gt;&lt;/SPAN&gt;business&lt;SPAN style="mso-ansi-language:EL;"&gt; &lt;/SPAN&gt;objects&lt;SPAN style="mso-ansi-language:EL;"&gt; &lt;SPAN&gt;να μη έχουν γνώση για τον τρόπο με τον οποίο είναι &lt;/SPAN&gt;&lt;/SPAN&gt;stored&lt;SPAN style="mso-ansi-language:EL;"&gt; &lt;SPAN&gt;η &lt;/SPAN&gt;&lt;/SPAN&gt;retrieved&lt;SPAN style="mso-ansi-language:EL;"&gt; &lt;SPAN&gt;από στη βάση.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN:0in 0in 10pt;" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language:EL;"&gt;&lt;SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&lt;/SPAN&gt;Διαβάζω πως αυτό θεωρείται καλό, επειδή επιτρέπει την ένα διαχωρισμό των &lt;/SPAN&gt;&lt;/SPAN&gt;concerns,&lt;SPAN style="mso-ansi-language:EL;"&gt; &lt;SPAN&gt;αλλά δεν έχω καταλάβει εάν είναι πάντα προτιμότερο η σε μονωμένες περιπτώσεις.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN:0in 0in 10pt;" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language:EL;"&gt;&lt;SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&lt;/SPAN&gt;Ήθελα να ρωτώ αυτούς που το έχουν δοκιμάσει τι αλλαγές απαιτεί ως προς τον τρόπο ανάπτυξη της εφαρμογής? &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;</description></item><item><title>Πρόβλημα κατά την εκτέλεση Oracle OleDbCommand με παραμέτρους σε C#.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/64199.aspx</link><pubDate>Mon, 14 Mar 2011 23:37:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:64199</guid><dc:creator>JohnieG</dc:creator><slash:comments>2</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/64199.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=64199</wfw:commentRss><description>Καλησπέρα,&lt;br&gt;&amp;nbsp; Αντιμετωπίζω ένα πρόβλημα στη προσπάθεια μου να εκτελέσω ένα Select Command με 2 παραμέτρους χρησιμοποιώντας μια OleDbCommand και συνδεόμενος σε μια βάση Oracle 11g. Ενώ εξακριβώνω ότι οι παράμετροι μου έχουν τις τιμές που θέλω να περάσω, παρόλα αυτά παίρνω ένα μύνημα &lt;b&gt;ORA-01008 : Not all variables bound&lt;/b&gt;&lt;i&gt;&lt;font size="2"&gt;. &lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;Στην αρχή, ελέγχοντας το Select Command έβλεπα ότι στη θέση των παραμέτρων υπήρχε το απόλυτο κενό. Τώρα, φαινομενικά εντελώς ξαφνικά, τα ονόματα των παραμέτρων δεν μεταφράζονται μέσα στο command text αλλά παραμένουν τα ίδια. Πιθανότατα μέσα στη θολούρα που μου έχει προκαλέσει αυτό το θέμα κάτι δεν προσέχω, αλλά τί; &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-9.gif" alt="Crying" /&gt;&lt;br&gt;Παρακάτω παραθέτω το σχετικό κώδικα:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OleDbCommand command3 = new OleDbCommand();&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; command3.Parameters.Add("fDate", OleDbType.DBTimeStamp);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; command3.Parameters["fDate"].Value = Convert.ToDateTime(this.DATE_APO.Value);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; command3.Parameters.Add("tDate", OleDbType.DBTimeStamp);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; command3.Parameters["tDate"].Value = Convert.ToDateTime(this.DATE_EOS.Value);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; command3.CommandText = "Select ........... Where rec_datetime &amp;gt;= :fDate And t.rec_datetime &amp;lt;= :tDate ";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; command3.Connection = conn;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; command3.ExecuteReader();&lt;br&gt;&lt;br&gt;Οποιαδήποτε ιδέα ή πρόταση είναι ευπρόσδεκτη!&lt;br&gt;Σας ευχαριστώ εκ των προτέρων...&lt;br&gt;&lt;br&gt;Υ.Γ.: Παρέλειψα το Select Statement του CommandText ως μη ουσιαστικό ως προς τη λύση του προβλήματος μου. Εννοείται ότι το έχω δοκιμάσει και εκτός από το θέμα των παραμέτρων είναι απόλυτα λειτουργικό.&lt;br&gt;&lt;/font&gt;</description></item><item><title>Προβλημα στη φόρτωση excel σε Dataset</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/64122.aspx</link><pubDate>Fri, 11 Mar 2011 20:08:59 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:64122</guid><dc:creator>Δημήτρης Μπούνδρης</dc:creator><slash:comments>3</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/64122.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=64122</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE:11pt;FONT-FAMILY:'Calibri','sans-serif';mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:'Times New Roman';mso-bidi-theme-font:minor-bidi;mso-ansi-language:EL;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Hi&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:11pt;FONT-FAMILY:'Calibri','sans-serif';mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:'Times New Roman';mso-bidi-theme-font:minor-bidi;mso-ansi-language:EL;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Προσπαθώ να διαβάσω ένα &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:11pt;FONT-FAMILY:'Calibri','sans-serif';mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:'Times New Roman';mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;excel&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:11pt;FONT-FAMILY:'Calibri','sans-serif';mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:'Times New Roman';mso-bidi-theme-font:minor-bidi;mso-ansi-language:EL;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:11pt;FONT-FAMILY:'Calibri','sans-serif';mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:'Times New Roman';mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;file&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:11pt;FONT-FAMILY:'Calibri','sans-serif';mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:'Times New Roman';mso-bidi-theme-font:minor-bidi;mso-ansi-language:EL;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:11pt;FONT-FAMILY:'Calibri','sans-serif';mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:'Times New Roman';mso-bidi-theme-font:minor-bidi;mso-ansi-language:EL;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;χρησιμοποιώντας το παρακάτω κώδικα&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;                    String sConnectionString &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"Provider=Microsoft.Jet.OLEDB.4.0;"&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;+&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"Data Source="&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;+&lt;/SPAN&gt; FileName &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;+&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;";"&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;+&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"Extended Properties=\"Excel 8.0;HDR=Yes;FMT=Delimited\""&lt;/SPAN&gt;;

                    OleDbConnection objConn &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; OleDbConnection(sConnectionString);

                    objConn.Open();
                    OleDbCommand objCmdSelect &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; OleDbCommand(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"SELECT * FROM ["&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;+&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"Sheet1"&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;+&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"$]"&lt;/SPAN&gt;, objConn);

                    OleDbDataAdapter objAdapter1 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; OleDbDataAdapter();
                    objAdapter1.SelectCommand &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; objCmdSelect;

                    DataSet dsExcelContent &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; DataSet();
                    objAdapter1.Fill(dsExcelContent);&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;SPAN style="COLOR:black;"&gt;αλλά έχω πρόβλημα με στήλες που έχουν &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;mso-ansi-language:EN-US;"&gt;comma&lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;mso-ansi-language:EN-US;"&gt;separated&lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt; τιμές όπως για παράδειγμα η δεύτερη γραμμή όπου μου φορτώνει κενή τιμή στο &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;mso-ansi-language:EN-US;"&gt;Dataset&lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:black;FONT-FAMILY:'Calibri','sans-serif';mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:'Times New Roman';mso-bidi-theme-font:minor-bidi;mso-ansi-language:EL;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Υπάρχει κάποια λύση εδω;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:11pt;FONT-FAMILY:'Calibri','sans-serif';mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:'Times New Roman';mso-bidi-theme-font:minor-bidi;mso-ansi-language:EL;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;
&lt;TABLE style="WIDTH:240pt;BORDER-COLLAPSE:collapse;" cellSpacing=0 cellPadding=0 width=320 border=0&gt;



&lt;TR style="HEIGHT:15pt;" height=20&gt;
&lt;TD class=xl70 style="BORDER-RIGHT:#d4d0c8;BORDER-TOP:black 0.5pt solid;BORDER-LEFT:black 0.5pt solid;WIDTH:48pt;BORDER-BOTTOM:black 0.5pt solid;HEIGHT:15pt;BACKGROUND-COLOR:transparent;" width=64 height=20&gt;&lt;STRONG&gt;&lt;FONT face="Arial Greek" size=2&gt;Abkhazia&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class=xl71 style="BORDER-RIGHT:windowtext 0.5pt solid;BORDER-TOP:windowtext 0.5pt solid;BORDER-LEFT:windowtext 0.5pt solid;WIDTH:48pt;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;" width=64&gt;&lt;FONT face="Arial Greek" size=2&gt;7&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=xl71 style="BORDER-RIGHT:windowtext 0.5pt solid;BORDER-TOP:windowtext 0.5pt solid;BORDER-LEFT:windowtext;WIDTH:48pt;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;" width=64&gt;&lt;FONT face="Arial Greek" size=2&gt;840&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=xl69 style="BORDER-RIGHT:windowtext 0.5pt solid;BORDER-TOP:windowtext 0.5pt solid;BORDER-LEFT:windowtext;WIDTH:48pt;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;" width=64&gt;&lt;FONT face=Arial size=2&gt;0,03&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=xl72 style="BORDER-RIGHT:windowtext 1pt solid;BORDER-TOP:#d4d0c8;BORDER-LEFT:#d4d0c8;WIDTH:48pt;BORDER-BOTTOM:black 0.5pt solid;BACKGROUND-COLOR:transparent;" width=64&gt;&lt;FONT face="Arial Greek" size=2&gt;3/3/2011&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT:24pt;" height=32&gt;
&lt;TD class=xl70 style="BORDER-RIGHT:#d4d0c8;BORDER-TOP:black;BORDER-LEFT:black 0.5pt solid;WIDTH:48pt;BORDER-BOTTOM:black 0.5pt solid;HEIGHT:24pt;BACKGROUND-COLOR:transparent;" width=64 height=32&gt;&lt;STRONG&gt;&lt;FONT face="Arial Greek" size=2&gt;Abkhazia Mobile&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class=xl71 style="BORDER-RIGHT:windowtext 0.5pt solid;BORDER-TOP:windowtext;BORDER-LEFT:windowtext 0.5pt solid;WIDTH:48pt;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;" width=64&gt;&lt;FONT face="Arial Greek" size=2&gt;7&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=xl71 style="BORDER-RIGHT:windowtext 0.5pt solid;BORDER-TOP:windowtext;BORDER-LEFT:windowtext;WIDTH:48pt;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;" width=64&gt;&lt;FONT face="Arial Greek" size=2&gt;9407, 9409&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=xl69 style="BORDER-RIGHT:windowtext 0.5pt solid;BORDER-TOP:windowtext;BORDER-LEFT:windowtext;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;"&gt;&lt;FONT face=Arial size=2&gt;0,04&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=xl72 style="BORDER-RIGHT:windowtext 1pt solid;BORDER-TOP:#d4d0c8;BORDER-LEFT:#d4d0c8;BORDER-BOTTOM:black 0.5pt solid;BACKGROUND-COLOR:transparent;"&gt;&lt;FONT face="Arial Greek" size=2&gt;3/3/2011&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/SPAN&gt;&lt;/P&gt;</description></item><item><title>Διαθεσιμότητα του ODAC Entity Framework and LINQ Beta (11.2.0.2.30)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/63237.aspx</link><pubDate>Sun, 13 Feb 2011 04:54:50 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:63237</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/63237.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=63237</wfw:commentRss><description>&lt;p&gt;&lt;p&gt;Αρκετές μέρες υπήρχε ένας ψίθυρος ότι η Oracle έκανε διαθέσιμη μια Beta έκδοση του ADO.NET Data Provider με υποστήριξη για το Entity Framework σε μικρό αριθμό testers. Η έκδοση αυτή είναι πλέον διαθέσιμη στο ευρύ κοινό, από το &lt;a href="http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html"&gt;OTN&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Η έκδοση περιλαμβάνει υποστήριξη για το Framework, LINQ to Entities, Model-First, Entity Data Model Wizard, και ακόμη περισσότερα. &amp;nbsp;Η Beta έκδοση περιλαμβάνει το 32-bit Oracle Database client 11.2, το οποίο μπορεί να χρησιμοποιηθεί με την έκδοση του Oracle Database server 9.2 η νεότερη. Απαιτεί το Microsoft Visual Studio 2010 και το .NET Framework 4.&lt;/p&gt;&lt;p&gt;Ήδη στα forums του OTN έχουν αρχίσει οι πρώτες γκρίνιες για τα bugs της έκδοσης...&lt;/p&gt;&lt;p&gt;&lt;p&gt;&lt;ul&gt;&lt;li&gt;Λήψη του &lt;a href="http://www.oracle.com/technetwork/topics/dotnet/downloads/oracleefbeta-302521.html"&gt;ODAC Entity Framework Beta&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=146"&gt;OTN Forum: ODP.NET&lt;/a&gt; - Σημείο για σχόλια και αναφορά προβλημάτων σχετικά με το Entity Framework data access&lt;/li&gt;&lt;li&gt;&lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=228"&gt;OTN Forum: Oracle Developer Tools for Visual Studio&lt;/a&gt; - Σημείο για σχόλια και αναφορά προβλημάτων σχετικά με τα Entity Framework tools&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;George J.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</description></item><item><title>SQL Server Schemas &amp; Entity Framework 4</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/61779.aspx</link><pubDate>Mon, 20 Dec 2010 17:59:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:61779</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>9</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/61779.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=61779</wfw:commentRss><description>&lt;P&gt;Καλημέρα σε όλους.&lt;/P&gt;
&lt;P&gt;Θέλω να κάνω μια ερώτηση γιατί όσο και έφαγα το λυσσακά μου δεν βρήκα μια απάντηση που να με ικανοποιεί.&lt;/P&gt;
&lt;P&gt;Έχω μια βάση σε SQL Server 2008 R2 στην οποία κάνω χρήση schemas. Έτσι έχω πχ ένα πίνακα στο SchemaA.Table1 και SchemaB.Table1. Όταν πάω να τους βάλω σε ένα EF Model στο φτιάχνει σαν Entity το Table1 &amp;amp; Table11, δηλαδή βάζει στο ένα στο τέλος έναν άσσο.&lt;/P&gt;
&lt;P&gt;Ξέρεις κανείς πως μπορεί αυτό μπορεί να αποφευχθεί και πως το EF4 μπορεί να καταλάβει τα schemas?&lt;/P&gt;
&lt;P&gt;Ευχαριστώ&lt;/P&gt;</description></item><item><title>Transactions Management and Entity Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/61844.aspx</link><pubDate>Wed, 22 Dec 2010 07:51:05 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:61844</guid><dc:creator>xabikos</dc:creator><slash:comments>3</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/61844.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=61844</wfw:commentRss><description>Είμαι σχετικά καινούριος στον επαγγελματικό κόσμο του development μιας και δουλεύω κάτι λιγότερο από δυο χρόνια και αυτή είναι η πρώτη μου δουλειά. Η αρχιτεκτονική που ακολουθούμε είναι η γνωστή με τα layers και αναπτύσσουμε Domain Model. Για το DAL χρησιμοποιούμε Nhibernate και όλο το Transaction Management γίνεται από το spring με Atributes πάνω στις μεθόδους των services. Αυτό αποδίδει πάρα πολύ καλά μιας και το Spring συνεργάζεται άψογα με το NHibernate. Αυτό που έχω σαν απορία και δεν έχω καταφέρει να βρω κάτι διαφορετικό είναι αν υπάρχει κάποια άλλη λύση με την ίδια λειτουργικότητα για να χρησιμοποιηθεί με το EF4. Μια λύση που έχω δει είναι να χρησιμοποιηθεί το TransactionScope αλλά δεν είναι τόσο ευέλεκτικο ή δεν το έχω καταλάβει τόσο καλά. Για να εξηγήσω: Πως θα μπορούσα με σχετικά εύκολο τρόπο όταν μέσα από μια μέθοδο που εκτελείται στα πλαίσια ενός Transaction καλείται μια άλλη μέθοδος που απαιτεί και αυτή Transaction να ελέγχονται από έναν κεντρικό μηχανισμό; Στο Spring υπάρχουν αρκετές υλοποιήσεις του TransactionManager που ελέγχει τις κλήσεις και έτσι το Transaction είτε πετυχαίνει είτε γίνει roll back όλο μαζί. Υπάρχει κάποια άλλη προσέγγιση στο θέμα;&lt;br&gt;</description></item><item><title>Entity Framework 4, Log SQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/61339.aspx</link><pubDate>Tue, 07 Dec 2010 07:45:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:61339</guid><dc:creator>pmatsinopoulos</dc:creator><slash:comments>8</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/61339.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=61339</wfw:commentRss><description>&lt;P&gt;Καλησπέρα,&lt;/P&gt;
&lt;P&gt;Υπάρχει τρόπος, στο Entity Framework 4, να κάνω log τα SQL statements που στέλνει στη βάση; Εκτός του SQL Profiler.&lt;/P&gt;
&lt;P&gt;Ευχαριστώ πολύ&lt;/P&gt;</description></item><item><title>Κυκλοφορία του EF Feature CTP5!</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/61363.aspx</link><pubDate>Wed, 08 Dec 2010 06:52:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:61363</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>1</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/61363.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=61363</wfw:commentRss><description>Η νέα έκδοση του Entity Framework Feature Community Technology Preview (CTP5) είναι πλέον διαθέσιμη για &lt;A title="download" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=35adb688-f8a7-4d28-86b1-b6235385389d"&gt;&lt;U&gt;download&lt;/U&gt;&lt;/A&gt;. Αυτή η CTP περιλαμβάνει ενημερώσεις για το χαρακτηριστικό Code First και το απλοποιημένο API surface (DbContext&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Ξεκινώντας&lt;/STRONG&gt;&lt;BR&gt;Στο weblog του ADO.NET υπάρχουν κάποιες δημοσιεύσεις για να βοηθήσουν κάποιον να ξεκινήσει με την έκδοση CTP5, και θα υπάρξουν μια λεπτομερείς δημοσιεύσεις που θα εξηγήσουν σε βάθος σε ενδιαφέροντα θέματα της έκδοσης τις επόμενες εβδομάδες.&lt;UL&gt;&lt;LI&gt;&lt;A href="http://blogs.msdn.com/b/adonet/archive/2010/12/14/ef-feature-ctp5-model-amp-database-first-with-dbcontext.aspx" target="_blank"&gt;&lt;U&gt;Model &amp;amp; Database First with DbContext&lt;/U&gt;&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="http://blogs.msdn.com/b/adonet/archive/2010/12/14/ef-feature-ctp5-code-first-walkthrough.aspx" target="_blank"&gt;&lt;U&gt;Code First Walkthrough&lt;/U&gt;&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;&lt;A href="http://blogs.msdn.com/b/adonet/archive/2010/12/14/ef-feature-ctp5-fluent-api-samples.aspx" target="_blank"&gt;&lt;U&gt;Code First Fluent API Samples&lt;/U&gt;&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Υποστήριξη&lt;/STRONG&gt;&lt;BR&gt;Η έκδοση CTP5 είναι μια προεπισκόπηση των χαρακτηριστικών που θα είναι διαθέσιμα σε μελλοντικές εκδόσεις και έχει σχεδιαστεί για να σας επιτρέψει να δώσετε feedback για τον σχεδιασμό αυτών των χαρακτηριστικών. Η έκδοση CTP5 δεν έχει δοθεί για χρήση σε περιβάλλοντα παραγωγής. Αν χρειάζεστε βοήθεια με την CTP5 υπάρχει το &lt;A href="http://social.msdn.microsoft.com/Forums/en-US/adonetefx/threads"&gt;&lt;U&gt;Entity Framework Pre-Release Forum&lt;/U&gt;&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;George J.&lt;BR&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Unit of Work Pattern on EF 4</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/61301.aspx</link><pubDate>Sun, 05 Dec 2010 17:27:53 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:61301</guid><dc:creator>pmatsinopoulos</dc:creator><slash:comments>2</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/61301.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=61301</wfw:commentRss><description>&lt;P&gt;Καλημέρα σας,&lt;/P&gt;
&lt;P&gt;Υπάρχει κάτι έτοιμο από το EF 4 για το Unit Of Work pattern?&lt;/P&gt;
&lt;P&gt;Ευχαριστώ&lt;/P&gt;
&lt;P&gt;Παναγιώτης Ματσινόπουλος&lt;/P&gt;</description></item></channel></rss>