数据提供者(Data Provider)
.Net FrameWork SDK 1.1
The ODBC .NET Data Provider
The OLE DB .NET Data Provider
The SQL Server .NET Data Provider //Sql Server 7.0及以上版本
The Oracle .NET Data Provider //Oracle 8.1.7及以上版本
DataAdapter类
实现从数据库中检索数据并填充 DataSet 中的表
OdbcDataAdapter
OleDbDataAdapter
SqlDataAdapter
(1) SelectCommand
通过DataAdapter的SelectCommand属性从数据库中检索出需要的数据。
(2) Fill
通过DataAdapter的Fill方法把检索来的数据填充DataSet或DataTable。
(3) Update
当DataSet实例中包含数据发生更改后,此时调用Update方法,DataAdapter 将分析已作出的更改并执行相应的命令(INSERT、UPDATE或 DELETE),并以此命令来更新数据库中的数据。
.Net FrameWork SDK 1.1
The ODBC .NET Data Provider
The OLE DB .NET Data Provider
The SQL Server .NET Data Provider //Sql Server 7.0及以上版本
The Oracle .NET Data Provider //Oracle 8.1.7及以上版本
DataAdapter类
实现从数据库中检索数据并填充 DataSet 中的表
OdbcDataAdapter
OleDbDataAdapter
SqlDataAdapter
(1) SelectCommand
通过DataAdapter的SelectCommand属性从数据库中检索出需要的数据。
(2) Fill
通过DataAdapter的Fill方法把检索来的数据填充DataSet或DataTable。
(3) Update
当DataSet实例中包含数据发生更改后,此时调用Update方法,DataAdapter 将分析已作出的更改并执行相应的命令(INSERT、UPDATE或 DELETE),并以此命令来更新数据库中的数据。
// 命名空间
using System.Data.SqlClient;
void MainFormLoad(object sender, EventArgs e)
{
// 连接字符串1
string conStr = "server = localhost; " +
"database = Northwind; " +
"Integrated Security = true";
// 连接字符串2
string conStr = "Data Source = localhost; " +
"Integrated Security = SSPI; " +
"Initial Catalog = Northwind";
// 创建数据连接
SqlConnection myCon = new SqlConnection(conStr);
try
{
myCon.Open();
// 1.创建并初始化SqlCommand对象
string cmdStr = "SELECT * FROM Customers";
SqlCommand myCmd = new SqlCommand(cmdStr, myCon);
// 2.创建SqlDataAdapter对象,并根据SelectCommand属性检索数据
SqlDataAdapter sqlDataAdapter1 = new SqlDataAdapter();
sqlDataAdapter1.SelectCommand = myCmd;
// 1+2合并
//string cmdStr = "SELECT * FROM Customers";
//SqlDataAdapter sqlDataAdapter1 = new SqlDataAdapter(cmdStr, myCon);
// 3.1使用SqlDataAdapter的Fill方法填充DataSet
DataSet ds = new DataSet();
sqlDataAdapter1.Fill(ds, "Customers");
// 3.2使用SqlDataAdapter的Fill方法填充DataTable
DataTable dt = new DataTable();
sqlDataAdapter1.Fill(dt);
// 4.绑定数据
this.dataGridView1.DataSource = ds.Tables["Customers"]; //或ds.Tables[0]
this.dataGrid1.DataSource = dt;
// 5.更新数据
// 以sqlDataAdapter1为参数来初始化SqlCommandBuilder实例
SqlCommandBuilder sqlCommandBuilder1 = new SqlCommandBuilder ( sqlDataAdapter1 );
// 删除DataSet中数据表Customers中第一行数据
dsDataSet1.Tables["Customers"].Rows[0].Delete();
// 调用Update方法,从DataSet中的数据更新数据库
sqlDataAdapter1.Update ( dsDataSet1, "Customers" );
dsDataSet1.Tables["Customers"].AcceptChanges();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
myCon.Close();
}
}