c教程中的数据行错误

本文关键字:错误 数据 教程 | 更新日期: 2023-09-27 18:00:13

我一直在网上学习一个教程,可以在"向数据库添加新记录"中找到。我有相同的代码输入到数据集和数据库,但我得到了这个错误

对象引用未设置为对象的实例。

这是我的完整代码

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        System.Data.SqlClient.SqlConnection con;
        System.Data.SqlClient.SqlDataAdapter da;
        DataSet ds1;

        int MaxRows = 0;
        int inc = 0;
        private void Form1_Load(object sender, EventArgs e)
        {
            con = new System.Data.SqlClient.SqlConnection();
            ds1 = new DataSet();
            con.ConnectionString = "Data Source=localhost;Initial Catalog=Kart_Setup;Integrated Security=True;Pooling=False";
            con.Open();
            da.Fill(ds1, "Setup");   
        }
        private void clr_Click(object sender, EventArgs e)
        {

        }
        private void save_Click(object sender, EventArgs e)
        {
            System.Data.SqlClient.SqlCommandBuilder cb;
            cb = new System.Data.SqlClient.SqlCommandBuilder(da);

          DataRow dRow = ds1.Tables["Setup"].NewRow();
          dRow[1] = FL.Value;
          dRow[2] = FR.Value;
          dRow[3] = RL.Value;
          dRow[4] = RR.Value;
          ds1.Tables["Setup"].Rows.Add(dRow);
          MaxRows = MaxRows + 1;
          inc = MaxRows - 1;
          da.Update(ds1, "Setup");
          MessageBox.Show("Setup Added");
          con.Close();
        }
    }
}

如有任何帮助,请提前感谢

c教程中的数据行错误

您需要将ds声明为某个。。。尝试

EDIT:修复了将数据表添加到数据集的代码。

DataSet ds1 = new DataSet();
DataTable dt = new DataTable("Setup");
ds1.Tables.Add(dt);
DataRow dRow = ds1.Tables["Setup"].NewRow();

此外,请确保初始化所有变量,这些变量看起来很可疑:

MaxRows = MaxRows + 1;
inc = MaxRows - 1;

看起来好像这些是在类本身中声明的,把它放在函数之外:

public intMaxRows = 0;
public int inc = 0;

此外,我不知道da应该是什么,但您也需要实例化它。

什么是da?它是空的吗?

您初始化ds1了吗?

FL为空吗?

FR为空吗?

RL为空吗?

RR为空吗?

MaxRows呢?股份有限公司

你没有提供足够的信息来获得任何真正的帮助。

编辑:

根据您的意见,ds1需要初始化。