Sql Server与DataSet

数据提供者(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),并以此命令来更新数据库中的数据。


// 命名空间
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();
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值