2010-10-27 10 views
6

क्या JDBC और लोगों में पाया वस्तुओं के बीच उपमा ADO.Net में पाए जाते हैं?JDBC और ADO.Net: एपीआई तुलना

मुझे पता है कि जेडीबीसी में ऑब्जेक्ट मॉडल और एडीओ.Net बिल्कुल समान नहीं हैं, लेकिन मुझे लगता है कि उनमें से कुछ समानताएं मिल सकती हैं (और महत्वपूर्ण अंतर बताते हैं)।

यह उन लोगों के लिए उपयोगी होगा जो एक एपीआई जानते हैं और दूसरे को सीखना चाहते हैं, एक शुरुआती बिंदु के रूप में सेवा कर सकते हैं, या उन एपीआई के बारे में गलतफहमी से बचने के लिए जो सीखना चाहते हैं।

उदाहरण: ADO.Net ऑब्जेक्ट कौन सा है जो जेडीबीसी परिणामसेट के समान कार्यक्षमता/व्यवहार प्रदान करता है? PreparedStatemes के लिए एक ही, और इतने पर ...

उत्तर

5

यहाँ ADO.NET के लिए एक सरल अनुक्रम है:

 
// 1. create a connection 
Connection con = DriverManager.getConnection(xyz); 
// 2. create a statement  
Statement stmt = con.createStatement(); 
// 3. execute and receive results in a result set 
ResultSet rs = stmt.executeQuery("SELECT * from xyz"); 
// 4. Get the results 
while (rs.next()) 
{ 
// do something 
} 

और यहाँ:

 
// 1. create a connection 
SqlConnection conn = new SqlConnection(xyz) 
// 2. open the connection 
conn.Open(); 
// 3. create a command 
SqlCommand cmd = new SqlCommand("select * from xyz", conn); 
// 4. execute and receive the result in a reader 
SqlDataReader rdr = cmd.ExecuteReader(); 
// 5. get the results 
while (rdr.Read()) 
{ 
//dosomething 
} 

यहाँ JDBC के लिए एक सरल अनुक्रम है समानता है (ADO.NET => जेडीबीसी):

 
SqlConnection => Connection 
SqlCommand => Statement 
SqlDataReader => ResultSet 
+2

क्या JDBC के PreparedStatements, ADO.Net के डेटासेट के बारे में ...? – mmutilva

2

जेडीबीसी के साथ बहुत अच्छी तरह से नहीं, लेकिन जो मैं पता है कि ADO.NET एक डिस्कनेक्टेड आर्किटेक्चर का पालन करता है, जहां एक कनेक्शन केवल उस समय के लिए स्थापित किया जाता है जब एक क्वेरी को निष्पादित या पढ़ा जाना चाहिए। एक बार पाठक पढ़ा जाता है, कनेक्शन बंद किया जा सकता है। डेटा कैशिंग डेटासेट और डेटा एडेप्टर का उपयोग करके हासिल की जाती है। ADO.NET में प्रति कनेक्शन केवल एक पाठक की अनुमति है। जबकि डिस्कनेक्ट आर्किटेक्चर जेडीबीसी में निश्चित रूप से संभव है, यह लाइव कनेक्शन रखने की अवधारणा पर बनाया गया है जहां आप प्रति कनेक्शन एकाधिक पाठक रख सकते हैं।

एपीआई में एक और अंतर यह है कि there is built in functionality in jdbc to get the last inserted id, जबकि एडीओ में एक की कमी है।

Also read a nice comparison on data caching in ADO and jdbc.

+1

इसके अलावा यह पुराना एमएसडीएन संसाधन तुलना के साथ जोड़ता है: https://msdn.microsoft.com/en-us/library/aa478977.aspx और डिस्कनेक्ट और कनेक्टेड मॉडल पर एक अच्छी व्याख्या है। –