莲莲咩 2021-10-10 14:54 采纳率: 100%
浏览 47
已结题

C# Datagridview 控件增删改后点击保存按钮 但是显示错误上下文中不存在名称dt

    private void button1_Click(object sender, EventArgs e)
    {
        if (textBox1.Text == "")
        {
            MessageBox.Show("提示:用户名不能为空!");
        }
        else
        {
            SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=User;Integrated Security=True");
            conn.Open();
            SqlDataAdapter allTableAdapter  = new SqlDataAdapter("select* from total where ID LIKE '" + textBox1.Text.Trim() + "%'",conn);
            DataSet ds = new DataSet();
            allTableAdapter.Fill(ds,"tota");
            //将获取的数据填充到数据集ds中
            //数据源绑定到dataGridView
            DataTable dt = ds.Tables["tota"];
            dataGridView1.DataSource = dt.DefaultView;
            conn.Close();    
        }
    }

    private void button2_Click(object sender, EventArgs e)
    {
        
        SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=User;Integrated Security=True");
        conn.Open();
        DataTable changeDt = dt.GetChanges();
        foreach (DataRow dr in changeDt.Rows)
        {
            string strSQL = string.Empty;
            if (dr.RowState == System.Data.DataRowState.Added)
            {
                strSQL = @"INSERT INTO [User].[dbo].[total]
                                               ([ID]
                                               ,[PW]
                                               ,[type]
                                               ,[login])
                                         VALUES
                                               ('" + dr["ID"].ToString() + @"'
                                               ,'" + dr["PW"].ToString() + @"'
                                               ,'" + Convert.ToInt32(dr["type"]) + @"'
                                               ,'" + dr["login"].ToString() + @"')";
                SqlCommand comm = new SqlCommand(strSQL, conn);
                comm.ExecuteNonQuery();
            }
        }
    }

上面是代码,但会一直显示错误说dt不存在,这是为什么呀

img

  • 写回答

1条回答 默认 最新

  • 吴新恒 2021-10-12 12:06
    关注

    需要把数据再存到dataset吗,如果非必要请sqldataadapter.fill(dt)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日
  • 创建了问题 10月10日

悬赏问题

  • ¥20 安装 opencv4nodejs 报错
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA
  • ¥20 csv格式数据集预处理及模型选择
  • ¥15 部分网页页面无法显示!