首页 > 代码库 > 应用DataAdapter对象更新数据库中的数据

应用DataAdapter对象更新数据库中的数据

using System.Data.SqlClient;namespace WindowsFormsApplication1{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        string strCon = "Server=localhost;User Id=sa;Pwd=;DataBase=my";//定义数据库连接字符串        SqlConnection sqlcon;//声明数据库连接对象        SqlDataAdapter sqlda;//声明数据库桥接器对象        DataSet myds;//声明数据集对象        private void Form1_Load_1(object sender, EventArgs e)        {            sqlcon = new SqlConnection(strCon);//实例化数据库连接对象            sqlda = new SqlDataAdapter("select * from S", sqlcon);//实例化数据库桥接器对象            myds = new DataSet();//实例化数据集            sqlda.Fill(myds);//填充数据集            dataGridView1.DataSource = myds.Tables[0];//对DataGridView控件进行数据绑定        }        //执行批量更新操作        private void button1_Click_1(object sender, EventArgs e)        {            myds.Tables.Clear();//清空数据集            sqlcon = new SqlConnection(strCon);//实例化数据库连接对象            sqlda = new SqlDataAdapter("select * from S", sqlcon);//实例化数据库桥接器对象            //给SqlDataAdapter的UpdateCommand属性指定执行更新操作的SQL语句            sqlda.UpdateCommand = new SqlCommand("update S set Sex=@sex,Age=@age where SN=@sn", sqlcon);            //添加参数并赋值            sqlda.UpdateCommand.Parameters.Add("@sex", SqlDbType.Char, 20, "Sex");            sqlda.UpdateCommand.Parameters.Add("@age", SqlDbType.Int, 9, "Age");            SqlParameter prams_ID = sqlda.UpdateCommand.Parameters.Add("@sn", SqlDbType.VarChar);            prams_ID.SourceColumn = "sn";//设置@id参数的原始列            prams_ID.SourceVersion = DataRowVersion.Original;//设置@id参数的原始值            sqlda.Fill(myds);//填充数据集            //使用一个for循环更改数据集myds中的表中的值            for (int i = 0; i < myds.Tables[0].Rows.Count; i++)            {                myds.Tables[0].Rows[i]["Sex"] = dataGridView1.Rows[i].Cells[2].Value.ToString();//cell[0]表示当前行的第一列                myds.Tables[0].Rows[i]["Age"] = Convert.ToInt32(dataGridView1.Rows[i].Cells[3].Value);            }            //调用Update方法提交更新后的数据集myds,并同步更新数据库数据              sqlda.Update(myds);//如果把这句注释掉仅会更新本地界面上的数据,但是不会更新数据库的内容的            dataGridView1.DataSource = myds.Tables[0];//对DataGridView控件进行数据绑定        }    }}

 



上面有一个
DataGridView控件

 

应用DataAdapter对象更新数据库中的数据