VS.NET(C#)提升-2.31_数据库接口:C#使用DataAdapter实例讲解

利用DataAdapter对象填充与更新DataSet对象

一,填充DataSet对象

①根据连接字符串和SQL语句,创建一个SqlDataAdapter对象。

    虽然没有出现Connection和Command对象的控制语句,但是SqlDataAdapter对象会在创建的时候,自动构造对应的SqlConnection和SqlCommand对象,同时根据连接字符串自动初始化连接。注意!此时SqlConnectionSqlCommand对象都处于关闭状态

②创建DataSet对象,该对象需要用DataAdapter填充。

③调用DataAdapter的Fill方法,通过DataTable填充DataSet对象。

由于跟随DataAdapter对象创建的Command里的SQL语句是访问数据库里的客户信息表tb_Customer,所以在调用Fill方法的时候,在打开对应的SqlConnection和SqlCommand对象后,会用客户信息表tb_Customer的数据填充创建一个名DataTable对象,再用该DataTable填充到DataSet中。

案例代码如下:

public DataSet testDataSet()
{
//拼接SQL语句
StringBuilder strSQL = new StringBuilder();
strSQL.Append("select * from tb_Customer");

//生成连接数据库的类对象mshADONet,即connection对象
MshADONET mshADONet = new MshADONET();

//利用构造函数,创建DataAdapter
SqlDataAdapter da = new SqlDataAdapter(strSQL.ToString(), mshADONet.StrConnect);

// 创建DataSet
DataSet ds = new DataSet();

//填充,第一个参数是要填充的dataset对象,第二个参数是填充dataset的datatabble
da.Fill(ds, "Customer");
return ds;
}

//点击按钮,显示数据于dataGridView1控件

private void button1_Click(object sender, EventArgs e)
{
	MshBusinessLogic mshBuss= new MshBusinessLogic();
	this.dataGridView1.DataSource = mshBuss.testDataSet();
	this.dataGridView1.DataMember = "Customer";
}

二,将DataSet中的数据更新到数据库



 public void updateDataSet()
        {
            //拼接SQL语句
            StringBuilder strSQL = new StringBuilder();
            strSQL.Append("select * from tb_Customer");

            //生成数据库操作对象
            MshADONET mshADONet = new MshADONET();

            //利用构造函数,创建DataAdapter
            SqlDataAdapter da = new SqlDataAdapter(strSQL.ToString(), mshADONet.StrConnect);

            // 创建DataSet
            DataSet ds = new DataSet();

            //填充,第一个参数是要填充的dataset对象,第二个参数是填充dataset的datatabble
            da.Fill(ds, "Customer");

            //以下代码将更新DataSet里的数据
            //在DataSet里的名为"Customer"的DataTable里添加一个用于描述行记录的DataRow对象
            DataRow dr = ds.Tables["Customer"].NewRow();
            //通过DataRow对象添加一条记录
            dr["Name"] = "tom";
            dr["Phone"] = "13967310417";
            dr["Email"] = "2156858566@qq.com";
            ds.Tables["Customer"].Rows.Add(dr);

            //更新到数据库里
            SqlCommandBuilder scb = new SqlCommandBuilder(da);
            da.UpdateCommand = scb.GetUpdateCommand();
            da.Update(ds, "Customer");
        }

//测试按钮代码


 private void button2_Click(object sender, EventArgs e)
        {
            MshBusinessLogic mshBuss = new MshBusinessLogic();
            mshBuss.updateDataSet();
        }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值