SqlCommandBuilder 删除与更新的用法,附代码

本文介绍了一个使用 C# 进行 SQL 数据库操作的例子,包括从 DataGridView 控件读取数据并更新到 SQL Server 数据库的过程,同时实现了数据的删除与更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System.Data.SqlClient;


private void toolStripButton2_Click(object sender, EventArgs e) //保存
{
    string str = string.Empty;
    str = "SELECT [model] as 产品编号,[customer] as 客户别 FROM [wax_Data] where 1=2";
    try
    {
        dt = SQL.command(str).Tables[0]; //避免SQL的注入式攻击
    }
    catch
    {
        return;
    }
    for (int i = 0; i < dataGridView1.Rows.Count; i++)
    {
        DataRow drow = dt.NewRow();
        try
        {
            drow["产品编号"] = dataGridView1.Rows[i].Cells[0].Value.ToString().Trim();
            drow["客户别"] = dataGridView1.Rows[i].Cells[1].Value.ToString().Trim();
        }
        catch
        {
            return;
        }
        dt.Rows.Add(drow);
        ds_modify = new DataSet();
        DataTable dt_modify = dt.Copy();
        ds_modify.Tables.Add(dt_modify);
    }
    string con = string.Empty;
    con = "Server = (local)\\SQLEXPRESS;database = PCMIS;user = sa;pwd = Qz@!973?1";//本地数据库服务器
    SqlConnection conn = new SqlConnection(con);
    SqlDataAdapter adapter = new SqlDataAdapter();
    adapter.SelectCommand = new SqlCommand("SELECT [model] as 产品编号,[customer] as 客户别  FROM  [wax_Data] where 1=2", conn);
    adapter.DeleteCommand = new SqlCommand("delete from [PCMIS].[dbo].[wax_Data] where " + str1, conn);
    SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
    try
    {
        conn.Open();
        adapter.DeleteCommand.ExecuteNonQuery();//删除数据
        if (ds_modify.Tables.Count > 0)
        {
            try
            {
                adapter.Update(ds_modify); //删除后,最后一行为空行时,会报错
            }
            catch
            {
                return;
            }
        }
    }
    finally
    {
        if (conn != null)
        {
            conn.Close();
            conn.Dispose();
        }
        if (adapter != null)
        {
            adapter.Dispose();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值