2023年6月21日发(作者:)
应⽤DataAdapter对象更新数据库中的数据using ent;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();//实例化数据集 (myds);//填充数据集 urce = [0];//对DataGridView控件进⾏数据绑定 } //执⾏批量更新操作 private void button1_Click_1(object sender, EventArgs e) { ();//清空数据集 sqlcon = new SqlConnection(strCon);//实例化数据库连接对象 sqlda = new SqlDataAdapter("select * from S", sqlcon);//实例化数据库桥接器对象 //给SqlDataAdapter的UpdateCommand属性指定执⾏更新操作的SQL语句 Command = new SqlCommand("update S set Sex=@sex,Age=@age where SN=@sn", sqlcon); //添加参数并赋值 ("@sex", , 20, "Sex"); ("@age", , 9, "Age"); SqlParameter prams_ID = ("@sn", r); prams_Column = "sn";//设置@sn参数的原始列 prams_Version = al;//设置@sn参数的原始值 (myds);//填充数据集 //使⽤⼀个for循环更改数据集myds中的表中的值 for (int i = 0; i < [0].; i++) { [0].Rows[i]["Sex"] = [i].Cells[2].ng();//cell[0]表⽰当前⾏的第⼀列 [0].Rows[i]["Age"] = 32([i].Cells[3].Value); } //调⽤Update⽅法提交更新后的数据集myds,并同步更新数据库数据 (myds);//如果把这句注释掉仅会更新本地界⾯上的数据,但是不会更新数据库的内容的 urce = [0];//对DataGridView控件进⾏数据绑定 } }}
上⾯有⼀个DataGridView控件更新后注释详细:using ent;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();//实例化数据集 (myds);//填充数据集 urce = [0];//对DataGridView控件进⾏数据绑定 //如果把这句注释掉就不会显⽰出数据 } //执⾏批量更新操作 private void button1_Click_1(object sender, EventArgs e) { ();//清空数据集 sqlcon = new SqlConnection(strCon);//实例化数据库连接对象 sqlda = new SqlDataAdapter("select * from S", sqlcon);//实例化数据库桥接器对象 //给SqlDataAdapter的UpdateCommand属性指定执⾏更新操作的SQL语句 Command = new SqlCommand("update S set Sex=@sex,Age=@age,SN=@sn where SNo=@sno", sqlcon);//where SN=@sn
//set Sex=@sex,Age=@age,SN=@sn,这句的意思是修改数据库中这三列的值,如果其中少写⼀列,则这⼀列的值仅在界⾯上会改动,数据库中不会改动的 //如果把这个where SN=@sn分离出来那么更新数据后界⾯上看上去没问题,都更新了,但是数据库是这样更新的,因为没有where语句 //所以他会从第⼀⾏开始更新,每更新⼀项就会把所有的项都会更新成这个项的内容,如此下去当更新到最后⼀⾏时,他会把所有项的内容都会更新成最后⼀项的内容 //添加参数并赋值 ("@sex", , 20, "Sex"); //这⼉声明变量@sex下同 ("@age", , 9, "Age"); //SqlParameter prams_ID = ("@sn", r); //prams_Column = "sn";//设置@id参数的原始列 //prams_Version = al;//设置@id参数的原始值 ("@sn", r, 8, "SN");
SqlParameter prams_ID = ("@sno", r); prams_Column = "sno";//设置@sno参数的原始列, (myds);//填充数据集 //使⽤⼀个for循环更改数据集myds中的表中的值 for (int i = 0; i < [0].; i++) { [0].Rows[i]["Sex"] = [i].Cells[2].ng();//cell[0]表⽰当前⾏的第⼀列 [0].Rows[i]["Age"] = 32([i].Cells[3].Value); [0].Rows[i]["SN"] = [i].Cells[1].ng();
} //如果把这个for循环注释掉,那么你在界⾯上改动的东西双击批量更新按钮后还是和原来的⼀样,界⾯上的内容和数据库的内容都不会变的
//调⽤Update⽅法提交更新后的数据集myds,并同步更新数据库数据 (myds);//如果把这句注释掉仅会更新本地界⾯上的数据,但是不会更新数据库的内容的 //上⾯声明了⼏个变量下⾯更新就更新那⼏列的内容,没有提及的列不会更新的 //上⾯声明了⼏个变量下⾯更新就更新那⼏列的内容,没有提及的列不会更新的 urce = [0];//对DataGridView控件进⾏数据绑定 //如果把这句注释掉在界⾯上修改数据后,然后点击批量更新按钮,界⾯不会出现闪动地那⼀下,但是数据库可以更新的 } }}
2023年6月21日发(作者:)
应⽤DataAdapter对象更新数据库中的数据using ent;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();//实例化数据集 (myds);//填充数据集 urce = [0];//对DataGridView控件进⾏数据绑定 } //执⾏批量更新操作 private void button1_Click_1(object sender, EventArgs e) { ();//清空数据集 sqlcon = new SqlConnection(strCon);//实例化数据库连接对象 sqlda = new SqlDataAdapter("select * from S", sqlcon);//实例化数据库桥接器对象 //给SqlDataAdapter的UpdateCommand属性指定执⾏更新操作的SQL语句 Command = new SqlCommand("update S set Sex=@sex,Age=@age where SN=@sn", sqlcon); //添加参数并赋值 ("@sex", , 20, "Sex"); ("@age", , 9, "Age"); SqlParameter prams_ID = ("@sn", r); prams_Column = "sn";//设置@sn参数的原始列 prams_Version = al;//设置@sn参数的原始值 (myds);//填充数据集 //使⽤⼀个for循环更改数据集myds中的表中的值 for (int i = 0; i < [0].; i++) { [0].Rows[i]["Sex"] = [i].Cells[2].ng();//cell[0]表⽰当前⾏的第⼀列 [0].Rows[i]["Age"] = 32([i].Cells[3].Value); } //调⽤Update⽅法提交更新后的数据集myds,并同步更新数据库数据 (myds);//如果把这句注释掉仅会更新本地界⾯上的数据,但是不会更新数据库的内容的 urce = [0];//对DataGridView控件进⾏数据绑定 } }}
上⾯有⼀个DataGridView控件更新后注释详细:using ent;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();//实例化数据集 (myds);//填充数据集 urce = [0];//对DataGridView控件进⾏数据绑定 //如果把这句注释掉就不会显⽰出数据 } //执⾏批量更新操作 private void button1_Click_1(object sender, EventArgs e) { ();//清空数据集 sqlcon = new SqlConnection(strCon);//实例化数据库连接对象 sqlda = new SqlDataAdapter("select * from S", sqlcon);//实例化数据库桥接器对象 //给SqlDataAdapter的UpdateCommand属性指定执⾏更新操作的SQL语句 Command = new SqlCommand("update S set Sex=@sex,Age=@age,SN=@sn where SNo=@sno", sqlcon);//where SN=@sn
//set Sex=@sex,Age=@age,SN=@sn,这句的意思是修改数据库中这三列的值,如果其中少写⼀列,则这⼀列的值仅在界⾯上会改动,数据库中不会改动的 //如果把这个where SN=@sn分离出来那么更新数据后界⾯上看上去没问题,都更新了,但是数据库是这样更新的,因为没有where语句 //所以他会从第⼀⾏开始更新,每更新⼀项就会把所有的项都会更新成这个项的内容,如此下去当更新到最后⼀⾏时,他会把所有项的内容都会更新成最后⼀项的内容 //添加参数并赋值 ("@sex", , 20, "Sex"); //这⼉声明变量@sex下同 ("@age", , 9, "Age"); //SqlParameter prams_ID = ("@sn", r); //prams_Column = "sn";//设置@id参数的原始列 //prams_Version = al;//设置@id参数的原始值 ("@sn", r, 8, "SN");
SqlParameter prams_ID = ("@sno", r); prams_Column = "sno";//设置@sno参数的原始列, (myds);//填充数据集 //使⽤⼀个for循环更改数据集myds中的表中的值 for (int i = 0; i < [0].; i++) { [0].Rows[i]["Sex"] = [i].Cells[2].ng();//cell[0]表⽰当前⾏的第⼀列 [0].Rows[i]["Age"] = 32([i].Cells[3].Value); [0].Rows[i]["SN"] = [i].Cells[1].ng();
} //如果把这个for循环注释掉,那么你在界⾯上改动的东西双击批量更新按钮后还是和原来的⼀样,界⾯上的内容和数据库的内容都不会变的
//调⽤Update⽅法提交更新后的数据集myds,并同步更新数据库数据 (myds);//如果把这句注释掉仅会更新本地界⾯上的数据,但是不会更新数据库的内容的 //上⾯声明了⼏个变量下⾯更新就更新那⼏列的内容,没有提及的列不会更新的 //上⾯声明了⼏个变量下⾯更新就更新那⼏列的内容,没有提及的列不会更新的 urce = [0];//对DataGridView控件进⾏数据绑定 //如果把这句注释掉在界⾯上修改数据后,然后点击批量更新按钮,界⾯不会出现闪动地那⼀下,但是数据库可以更新的 } }}
发布评论