Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.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#SQL未提供的参数_C#_Sql - Fatal编程技术网

参数化查询需要c#SQL未提供的参数

参数化查询需要c#SQL未提供的参数,c#,sql,C#,Sql,我是SQL和C的新手,遇到了这个SQL错误 参数化查询“(@pid nvarchar(4000),@desc nvarchar(4000),@cat nvarchar(4000),@p'需要参数'@pid', 没有提供 我真的需要帮助。谢谢 public void InsertRecord() { SqlCommand cmd = new SqlCommand("INSERT INTO PRODUCTS VALUES (@pid, @desc, @cat, @price

我是SQL和C的新手,遇到了这个SQL错误

参数化查询“(@pid nvarchar(4000),@desc nvarchar(4000),@cat nvarchar(4000),@p'需要参数'@pid', 没有提供

我真的需要帮助。谢谢

 public void InsertRecord()
    {
        SqlCommand cmd = new SqlCommand("INSERT INTO PRODUCTS VALUES (@pid, @desc, @cat, @price, @scode)", myCon);
        cmd.Parameters.AddWithValue("@pid", productID);
        cmd.Parameters.AddWithValue("@desc", description);
        cmd.Parameters.AddWithValue("@cat", category);
        cmd.Parameters.AddWithValue("@price", price);
        cmd.Parameters.AddWithValue("@scode", supplierCode);//corrected the "key codes"

        myCon.Open();
        cmd.ExecuteNonQuery();
        myCon.Close();//added these lines of codes
    }

必须检查每个参数是否为null。如果为null,则必须传递
DBNull.Value

SqlParameter pidParam = command.Parameters.AddWithValue("@pidParam", productID);
if (productID == null)
{
    pidParam.Value = DBNull.Value;
}

来源:

productID是否为空?您使用的插入语法要求为插入传递所有字段值,您的表PRODUCTS中是否只有5个字段?我无法启用productID文本框。我不知道为什么。我的意思是文本框已启用,但我无法在其中键入任何内容。Windows Forms应用程序在C中#