JDBC连接SQL server与ADO.NET连接Sql Server对比
1.JDBC连接SQL server
1)java方面目前有很多驱动能够驱动连接SQL servernet.
主流的有两个sourceforge.jtds.jdbc.Driver和JDBC。
2)代码如下:
package com.testSqlJDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class testJDBC {
public static void main(String[] srg) {
//jtds连接
// try {
//
// Class.forName("net.sourceforge.jtds.jdbc.Driver"); //1.注册激活驱动程序
// Connection conn = DriverManager.getConnection("jdbc:jtds:sqlserver://ZHAO-PC:1433/Northwind","sa","1");//2.连接数据库
// Statement stmt = conn.createStatement();//3.打开数据库
// ResultSet result = stmt.executeQuery("select * from Orders");//4.执行SQL
// while (result.next()) {
// System.out.println(result.getString("ShipName"));
// }
// stmt.close();//5.关闭数据库连接
// conn.close();
// } catch (Exception e) {
// e.printStackTrace();
// }
try {
//jdbc连接
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection("jdbc:sqlserver://ZHAO-PC\\SQL2008R2S1:12966;DatabaseName=CMSDB", "sa", "1");
Statement stmt = conn.createStatement();
ResultSet result = stmt.executeQuery("select * from SYS_Code");
while (result.next()) {
System.out.println(result.getString("CodeName"));
}
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
2.ADO.NET连接Sql Server对比
public DataTable GetData()
{
string connString = @"Data Source=ZHAO-PC\SQL2008R2S1;Initial Catalog=test;Persist Security Info=True;User ID=sa;Password=1";
SqlConnection cn = new SqlConnection(connString);
cn.Open();//1.打开数据库连接
//2.执行SQL
SqlCommand cm = new SqlCommand();
cm.Connection = cn;
cm.CommandType = CommandType.Text;
cm.CommandText = "Select * from SYS_Code";
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cm;
DataTable dt = new DataTable();
da.Fill(dt);
//2.关闭数据库连接
cn.Close();
return dt;
}
3.总结
1)不管是Java的jdbc还是.net的ADO.NET 都是实现了访问数据库的接口。
2)同样访问其他数据库要分别用到相应的驱动。这些驱动都是实现了java或net定义的访问数据库接口。
3)通过定义接口规范,不同的数据库厂商都能按照规范提供自己的数据库访问接口实现(即驱动程序)。从而达到访问数据库代码的一致性。
4)访问数据库的一般步骤:打开数据库,执行sql,关闭数据库。