这3种类型的SQL请求数据有什么不同(不是说odbc可以请求不同的DB)
1.)ODBC dll: Microsoft.Data.ODBC
OdbcConnection cn;
OdbcCommand cmd;
string MyString;
MyString="Select ...";
cn= new OdbcConnection("Driver={SQL Server};Server=...;UID=...;PWD=...;Database=...;");
cn.Open();
cmd=new OdbcCommand(MyString,cn);
OdbcDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
....
}
reader.Close();
cn.Close();第二个dll: System.Data.SqlClient
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["…"].ConnectionString);
SqlDataReader rdr = null;
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT ..."
cmd.CommandType = CommandType.Text;
conn.Open();
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
.....
}
rdr.Close();
conn.Close();第三: dll: Microsoft.Practices.EnterpriseLibrary.Data
Database context = DatabaseFactory.CreateDatabase("...");
IDataReader dataReader = context.ExecuteReader(CommandType.Text,"SELECT ...")
dataReader.Read();
var inputid = (int)dataReader["..."];发布于 2011-02-09 05:57:27
是ADO.NET之上的一层,它通过为你处理一些重复的代码来简化常见任务。
在ADO.NET基础之上还有其他东西--比如NHibernate、实体框架等等--但是SqlClient / ADO.NET实际上是.NET世界中所有当前的、现代的数据库访问(主要是对SQL Server的访问)的基础
发布于 2011-02-09 04:38:22
MSSQL server ODBC驱动程序是一种围绕ODBC的包装器,也就是说,对原生数据库connection
发布于 2011-02-09 04:47:39
Microsoft.Practices.EnterpriseLibrary.Data是System.Data.SqlClient的包装器,因此它为内置的SqlClient功能添加了一些细节。正如@Felice Pollano所说,ODBC驱动程序封装了本机DB连接,所以我倾向于避免使用它们。
https://stackoverflow.com/questions/4938073
复制相似问题