VS下的数据库更删改

数据库操作在现实应用中还是很重要的,掌握最基本的更删改也是有必要的,这里介绍一些类来使用。

SqlConnection 实例化的对象用于连接数据库。连接语句有很多,网上也能够找到很多。

Data Source=@Serverip;Initial Catalog=@catalog;Integrated Security=true;是比较简单的连接语句


SqlDataAdapter 数据库连接适配器,实例化对象用于对数据库进行一些操作。

SqlCommandBuilder 我也没搞清楚这个类的具体用法,不过在更删改前需要实例化对象对SqlDataAdapter 的对象进行操作,据说是生成一些Sql语句。

DataSet 获取数据集,用于对一些控件数据源的绑定。


以学生数据表为例子

共有四个属性 ID NAME SEX AGE

可以把数据库连接封装成一个类

class Connect
    {
        public static SqlConnection connect()
        {
            String str = "Data Source=@Serverip;Initial Catalog=@catalog;Integrated Security=true;";
            SqlConnection con = new SqlConnection(str);
            con.Open();
            return con;
        }
    }


获取数据库表中的数据并与 dataGridView绑定

        string str = "select * from Student;";
        sqlcon = Connect.connect();	//新建连接
        sadpter = new SqlDataAdapter(str, sqlcon);	//实例化SqlDataAdapter
        ds = new DataSet(); 	//用于存储数据集
        sadpter.Fill(ds);	//按照表的格式填充进DataSet中
        dataGridView1.DataSource = ds.Tables[0];	//与之绑定

获取需要修改的数据元组,修改后对数据库写回
            DataTable dt = ds.Tables[0];    //获取当前表
            sadpter.FillSchema(dt, SchemaType.Mapped);  //填充规则
           
            DataRow dr = dt.Rows.Find(txtID.Text.ToString());   //查找当前行
            dr["ID"] = txtID.Text;
            dr["name"] = txtName.Text;
            dr["age"] = txtAge.Text;
            if (txtSex.Text == "男")
            {
                dr["sex"] = "man";
            }
            else
            {
                dr["sex"] = "woman";
            }
            sqlcombul = new SqlCommandBuilder(sadpter);     //实例化SqlCommandBuilder
            sadpter.Update(ds);     //修改数据库

新增加一行

            DataTable dt = ds.Tables[0];    //获取当前表
            sadpter.FillSchema(dt, SchemaType.Mapped);  //填充规则
            DataRow dr = dt.NewRow();
            dr["ID"] = txtID.Text;
            dr["name"] = txtName.Text;
            dr["age"] = txtAge.Text;
            if (txtSex.Text == "男")
            {
                dr["sex"] = "man";
            }
            else
            {
                dr["sex"] = "woman";
            }
            ds.Tables[0].Rows.InsertAt(dr, 0);
            sqlcombul = new SqlCommandBuilder(sadpter);
            sadpter.Update(ds);		//对数据库进行写回


删除当前选中行

            dataGridView1.Rows.Remove(dataGridView1.SelectedRows[0]);   //获取并在表上删除当前行
            sqlcombul = new SqlCommandBuilder(sadpter);
            sadpter.Update(ds);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值