请高手帮我看下我的增加数据的代码
SqlConnection sqlCon = new SqlConnection(strCon);
try
{
sqlCon.Open();
SqlCommand sqlCmd = sqlCon.CreateCommand();
sqlCmd.Connection = sqlCon;
sqlCmd.CommandText="insert into InOutStore values(@OperateTime,@ProductId,@Quantity,@[Type])";
sqlCmd.Parameters.Add(new SqlParameter("@OperateTime",this.OperateTime.Text.Trim()));
sqlCmd.Parameters.Add(new SqlParameter("@ProductId", this.ProductName.SelectedValue.ToString()));
sqlCmd.Parameters.Add(new SqlParameter("@Quantity",this.Quantity.Text.Trim()));
//从这里开始就出现问题了。 它说:'int'附件有语法错误.必须声明标量变量"@"
int number;
if (type.SelectedItem.ToString().Equals("入库"))
{
number=1;
sqlCmd.Parameters.Add(new SqlParameter("@[Type]",number));
}
if (type.SelectedItem.ToString().Equals("出库"))
{
number = -1;
sqlCmd.Parameters.Add(new SqlParameter("@[Type]",number));
}
sqlCmd.ExecuteNonQuery();
MessageBox.Show("添加库房产品成功!");
}
catch (SqlException se)
{
MessageBox.Show(se.Message);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
sqlCon.Close();
}
请哪位高手指点一下。。。。。 我觉得思路应该没有错啊。当选到入库的时候可以用1来代替,出库的时候用-1来代替
[解决办法]
1.
(@OperateTime,@ProductId,@Quantity,@[Type]是四个参数,你只写了
sqlCmd.Parameters.Add(new SqlParameter("@OperateTime",this.OperateTime.Text.Trim()));
sqlCmd.Parameters.Add(new SqlParameter("@ProductId", this.ProductName.SelectedValue.ToString()));
sqlCmd.Parameters.Add(new SqlParameter("@Quantity",this.Quantity.Text.Trim()));
2.
表中是否有不能为null的字段没有传值.
[解决办法]