2010-10-27 43 views
6

những điểm tương đồng giữa các đối tượng được tìm thấy trong JDBC và những người được gì tìm thấy trong ADO.Net?JDBC và ADO.Net: API so

Tôi biết mô hình đối tượng trong JDBC và ADO.Net không giống nhau, nhưng tôi nghĩ rằng một số phép so sánh có thể được tìm thấy trong số đó (và các khác biệt quan trọng đáng ghi rõ).

Điều đó sẽ hữu ích đối với những người biết một API và muốn tìm hiểu người khác, phục vụ như là một điểm khởi đầu hoặc tránh hiểu lầm gây ra bởi các giả định về API cần tìm hiểu.

ví dụ: Đối tượng ADO.Net nào cung cấp cùng chức năng/hành vi như kết quả JDBC? tương tự cho PreparedStatemes, và vân vân ...

Trả lời

5

Dưới đây là một chuỗi đơn giản cho ADO.NET:

 
// 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 
} 

Dưới đây là một chuỗi đơn giản cho JDBC:

 
// 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 
} 

Và đây là sự tương tự (ADO.NET => JDBC):

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

Còn về báo cáo chuẩn bị của JDBC, Số liệu ADO.Net, ...? – mmutilva

2

Không thật kỹ với jdbc, nhưng từ những gì tôi biết ADO.NET theo một kiến ​​trúc bị ngắt kết nối, trong đó một kết nối được thiết lập chỉ cho thời gian truy vấn phải được thực hiện hoặc đọc. Khi đọc được đọc, kết nối có thể được đóng lại. Việc lưu trữ dữ liệu được thực hiện bằng cách sử dụng bộ dữ liệu và bộ điều hợp dữ liệu. Trong ADO.NET chỉ cho phép một đầu đọc cho mỗi kết nối. Mặc dù kiến ​​trúc ngắt kết nối chắc chắn có thể có trong jdbc, kiến ​​trúc của nó được xây dựng trên khái niệm có kết nối trực tiếp nơi bạn có thể có nhiều độc giả cho mỗi kết nối.

Một khác biệt khác trong API là there is built in functionality in jdbc to get the last inserted id, trong khi ADO thiếu một.

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

+1

Ngoài ra tài nguyên MSDN cũ này thêm lên với sự so sánh: https://msdn.microsoft.com/en-us/library/aa478977.aspx và có một lời giải thích tốt về các mô hình bị ngắt kết nối và kết nối. –

Các vấn đề liên quan