教程中的c#数据行错误
我一直在遵循一个教程在互联网上可以找到它在。我有相同的代码输入到数据集和数据库,但我得到了这个错误 对象引用未设置为 对象的实例 这是我的全部代码教程中的c#数据行错误,c#,database,dataset,C#,Database,Dataset,我一直在遵循一个教程在互联网上可以找到它在。我有相同的代码输入到数据集和数据库,但我得到了这个错误 对象引用未设置为 对象的实例 这是我的全部代码 public partial class Form1 : Form { public Form1() { InitializeComponent(); } System.Data.SqlClient.SqlConnection con; S
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();
}
}
}
任何帮助都将不胜感激,请提前感谢您需要将ds声明为某物。。。试试 编辑:修复了将datatable添加到数据集的代码
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应该是什么,但您也需要实例化它。您需要将ds声明为某个对象。。。试试 编辑:修复了将datatable添加到数据集的代码
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为空吗 麦克斯罗呢?公司 你没有提供足够的信息来获得任何真正的帮助 编辑:
根据您的评论,ds1需要初始化。什么是da?它是空的吗 你初始化ds1了吗 FL为空吗 FR为空吗 RL为空吗 RR为空吗 麦克斯罗呢?公司 你没有提供足够的信息来获得任何真正的帮助 编辑:
根据您的评论,ds1需要初始化。引发异常的行是哪一行?如果您使用的是Visual Studio,您应该能够使用异常帮助器轻松地找到这一点。如果您可以告诉我们异常抛出的位置,这对解决您的问题非常有帮助。与其让我们在这里查找幽灵,不如在使用调试器时至少告诉我们哪一行引发异常?它是在DataRow dRow=ds1.Tables[“Setup”].NewRow()上引发的;line@Davide当前位置如果他想学习,就别理他。如果他不理解错误,他需要获得一些输入,这样我们才能帮助他解决问题。抛出异常的是哪一行?如果您使用的是Visual Studio,您应该能够使用异常帮助器轻松地找到这一点。如果您可以告诉我们异常抛出的位置,这对解决您的问题非常有帮助。与其让我们在这里查找幽灵,不如在使用调试器时至少告诉我们哪一行引发异常?它是在DataRow dRow=ds1.Tables[“Setup”].NewRow()上引发的;line@Davide当前位置如果他想学习,就别理他。如果他不理解错误,他需要获得一些输入,以便我们可以帮助他解决问题。我已尝试将其添加到我现有的代码中,但上面的代码没有起作用。。。ds1.表。添加(dt);我已经尝试将其添加到我现有的代码中,但它没有在上面运行。。。ds1.表。添加(dt);