Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# argumentnullexception未经处理插入到_C#_Datagridview_Sql Server Ce - Fatal编程技术网

C# argumentnullexception未经处理插入到

C# argumentnullexception未经处理插入到,c#,datagridview,sql-server-ce,C#,Datagridview,Sql Server Ce,我正试图通过datagridview将数据插入数据库。到目前为止,我的代码检查表是否存在,如果不存在,则创建一个新表,然后将数据复制到其中。我可以将数据复制到表中,所有操作都很好。在我得到错误之前,argumentnullexception未被处理。数据被插入到表中,我可以查看表并看到数据在那里。以下是错误的描述: 参数化查询“插入[alalala_Thomas_Humphries_Quote]([项目名称],[项目说明],[零售价格],[供应商编号],[所需数量],[库存],[成本价格],[总

我正试图通过datagridview将数据插入数据库。到目前为止,我的代码检查表是否存在,如果不存在,则创建一个新表,然后将数据复制到其中。我可以将数据复制到表中,所有操作都很好。在我得到错误之前,argumentnullexception未被处理。数据被插入到表中,我可以查看表并看到数据在那里。以下是错误的描述:

参数化查询“插入[alalala_Thomas_Humphries_Quote]([项目名称],[项目说明],[零售价格],[供应商编号],[所需数量],[库存],[成本价格],[总成本],[总零售])值(@Item,@desc,@Retail,@Supplier,@Quantity,@stock,@Cost,@totalcost,@totalretail)'需要一个未提供的参数值。 参数名称:@item

这是我的代码:

private void insertData()
        {
            string tableName = quotenameTxt.Text + "_" + firstTxt.Text + "_" + surenameTxt.Text + "_Quote";

            SqlCeConnection con = new SqlCeConnection(@"Data Source=|DataDirectory|\LWADataBase.sdf");
            con.Open();
            SqlCeDataAdapter da = new SqlCeDataAdapter();

            for (int i = 0; i < dataGridView1.Rows.Count - 0; i++)
            {
                string query = "insert into [" + tableName + "]([Item Name], [Item Description], [Retail Price], [Supplier Number], [Quantity Required], [In stock], [Cost Price], [Total Cost],[Total Retail]) values (@item, @desc,@retail,@supplier,@quantity,@stock,@cost,@totalcost, @totalretail)";
                SqlCeCommand cmd = new SqlCeCommand(query, con);
                cmd.Parameters.Add(new SqlCeParameter("@item", dataGridView1.Rows[i].Cells[0].Value));
                cmd.Parameters.Add(new SqlCeParameter("@desc", dataGridView1.Rows[i].Cells[1].Value));
                cmd.Parameters.Add(new SqlCeParameter("@retail", dataGridView1.Rows[i].Cells[2].Value));
                cmd.Parameters.Add(new SqlCeParameter("@supplier", dataGridView1.Rows[i].Cells[3].Value));
                cmd.Parameters.Add(new SqlCeParameter("@quantity", dataGridView1.Rows[i].Cells[4].Value));
                cmd.Parameters.Add(new SqlCeParameter("@stock", dataGridView1.Rows[i].Cells[5].Value));
                cmd.Parameters.Add(new SqlCeParameter("@cost", dataGridView1.Rows[i].Cells[6].Value));
                cmd.Parameters.Add(new SqlCeParameter("@totalcost", dataGridView1.Rows[i].Cells[7].Value));
               cmd.Parameters.Add(new SqlCeParameter("@totalretail", dataGridView1.Rows[i].Cells[8].Value));
                da.InsertCommand = cmd;
                cmd.ExecuteNonQuery();
                MessageBox.Show("Quotation :" + tableName + " saved.", "Saved");
            }


        }  
private void insertData()
{
string tableName=quotenameTxt.Text+“\u”+firstTxt.Text+“\u”+surenameTxt.Text+“\uquote”;
SqlCeConnection con=newsqlceconnection(@“数据源=|数据目录| \LWADataBase.sdf”);
con.Open();
SqlCeDataAdapter da=新的SqlCeDataAdapter();
对于(int i=0;i
我正在使用C#2010和SQLCE3.5


由于数据是插入到表中的,所以在将数据传递到数据库后,可能存在对象的转换问题。在将dataGridView1值作为参数传递之前,请尝试将其转换为正确的类型,如下所示:

cmd.Parameters.Add(new SqlCeParameter("@item", Convert.ToString(dataGridView1.Rows[i].Cells[0].Value)));

我希望这有帮助。

您能粘贴表格创建代码吗?