应用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 [email protected],[email protected] where [email protected]", 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控件
时间: 2024-11-06 11:38:29

应用DataAdapter对象更新数据库中的数据的相关文章

应用DataAdapter对象向数据库中添加数据--有问题

private void Form1_Load(object sender, EventArgs e) { string strCon = "Server=localhost;User Id=sa;Pwd=;DataBase=my";//定义数据库连接字符串 SqlConnection sqlcon = new SqlConnection(strCon);//实例化数据库连接对象 SqlDataAdapter sqlda_1 = new SqlDataAdapter("sel

Java实现Excel导入数据库,数据库中的数据导入到Excel

实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的lib目录下­ 2.Excel文件目录:D://book.xls 3.数据库名:javenforexcel 4.表名:stu 5.编写类:连接mysql的字符串方法.插入的方法.实体类­­ 表结构如下 : 连接数据库的工具类 package com.javen.db; import java.sql.Co

Java实现Excel导入数据库,数据库中的数据导入到Excel。。转载

自学资料总结 实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的lib目录下­ 2.Excel文件目录:D://book.xls 3.数据库名:javenforexcel 4.表名:stu 5.编写类:连接mysql的字符串方法.插入的方法.实体类­­ 表结构如下 : 连接数据库的工具类 package com.javen.db; import java

是用JDBC从数据库中获取数据并以java对象返回

/** * * @param c * for example Person.class * @param primaryKeys * primaryKeys为主键,参数顺序和表中保持一致 如果id, name 为主键 类名为Person 则 getEntity(Person.class,1,"name") * @return */ public static Object getEntity(Class c, Object... primaryKeys) { PreparedState

数据库中树结构数据,转换为Java对象树结构( 多叉树结构 )

总体就是图所表示所表示的转换,由数据库 => Java对象转换,代码比较简单,但对数据库压力可以大一点,多次查询. 主要是对象之间建立关联 No.2 : MapToTree() 思路为: 用pid(父id)作分组 ,这样每一个组的父节点是同一样,换句话说就是同一分组里,所有节点pid是相同的. 这样就针对分组操作,建立关联. 用Map做封装,key为父ID, value为分组List 用到了QueryRunner 这个是数据库工具,只要在网上找,下载就可以,能直接查询List. QueryRun

数据库基础#3:数据库中的数据?

原文链接:https://www.scarydba.com/2017/06/20/database-fundamentals-3-whats-database/ 转载自BOOK – "EXECUTION PLANS" CODE   AZURE DATA PLATFORM INSTRUCTORS 值得注意的是,很多人永远不需要创建自己的数据库. 您也许永远不会创建自己的表或其他数据结构. 您只能运行备份和恢复并操纵系统上的安全性,并让应用程序为您安装数据库. 这是完全可以理解的,完全符合

Kettle实现从数据库中提取数据到Excel

因为有个日常提数,工作日每天都要从数据库中提取数据,转换为excel,再以邮件的形式发给用户. 刚好近期同事在研究使用kettle自动提数且完成邮件的发送,觉得很实用又挺有意思的就学了一下这个技能~ 首先我们需要新建 转换  转换: 可以将数据从数据库中提取到excel中  然后我们如果想要定时提取数据的话,可以新建 作业 作业: 可以定时执行转换任务,然后还可以将发送邮件耶~ (不过这个技能我还不是很熟悉,等我熟悉了再更新嘻嘻) 一 . 新建转换 1.点击 + 号 ,也就是新建 ,然后选择 转

java更改数据库中的数据

不废话,上代码 1 package com.ningmeng; 2 3 import java.sql.*; 4 5 /** 6 * 1:更改数据库中的数据 7 * @author biexiansheng 8 * 9 */ 10 public class Test04 { 11 12 public static void main(String[] args) { 13 // TODO Auto-generated method stub 14 try { 15 Class.forName("

Eclipse中java向数据库中添加数据

前面详细写过如何连接数据库的具体操作,下面介绍向数据库中添加数据. 注意事项:如果参考下面代码,需要 改包名,数据库名,数据库账号,密码,和数据表(数据表里面的信息) 1 package com.ningmeng; 2 3 import java.sql.*; 4 5 /** 6 * 1:向数据库中添加数据 7 * @author biexiansheng 8 * 9 */ 10 public class Test01 { 11 12 public static void main(String