这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 04:47:39
Microsoft.Practices.EnterpriseLibrary.Data是System.Data.SqlClient的包装器,因此它为内置的SqlClient功能添加了一些细节。正如@Felice Pollano所说,ODBC驱动程序封装了本机DB连接,所以我倾向于避免使用它们。
https://stackoverflow.com/questions/4938073
复制相似问题