我正在尝试连接到数据库并将数据插入到预先存在的表中。我似乎可以连接到数据库,但是无法将数据插入表中。我该如何插入 数据存储到Visual Studio中的数据库中?
我已经学习了如何传递参数并尝试了传递参数,但是当我运行程序时,我仍然收到异常。尝试添加新记录时,我已经附上了错误的屏幕截图。我为insert语句查找了多种不同的语法,但不确定自己在做什么错。在下面,我提供了三个屏幕截图,一个是表单本身,是我收到的错误,而在底部是表格结构。 Insert Exception
private void btnAccept_Click(object sender, EventArgs e)
{
if (IsValidData())
{
if (addProduct)
{
product = new Product();
this.PutProductData(product);
try
{
SqlConnection sqlConn = new SqlConnection("Data Source= (LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\MMABooks.mdf;Integrated Security=True");
SqlCommand sqlComm = new SqlCommand();
sqlComm = sqlConn.CreateCommand();
sqlComm.CommandText = @"INSERT INTO Products (paramColum) VALUES
(@ProductCode, @Description,
@UnitPrice, @OnHandQuantity)";
sqlComm.Parameters.Add("@ProductCode", SqlDbType.VarChar);
sqlComm.Parameters.Add("@Description", SqlDbType.VarChar);
sqlComm.Parameters.Add("@UnitPrice", SqlDbType.VarChar);
sqlComm.Parameters.Add("@OnHandQuantity", SqlDbType.VarChar);
sqlConn.Open();
sqlComm.ExecuteNonQuery();
sqlConn.Close();
// Add code here to call the AddProduct method of the ProductDB class.
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, ex.GetType().ToString());
}
}
}
}
private void btnAdd_Click(object sender, EventArgs e)
{
frmAddModifyProduct addProductForm = new
frmAddModifyProduct();
addProductForm.addProduct = true;
DialogResult result = addProductForm.ShowDialog();
if (result == DialogResult.OK)
{
product = addProductForm.product;
txtCode.Text = product.Code;
this.DisplayProduct();
}
}
它应该在“产品”表中输入一条记录。如果我将它添加到insert语句中,我将找出检索,更新和删除的地方。
答案 0 :(得分:1)
您需要添加参数值,例如:
command.Parameters.Add("@LastName", SqlDbType.VarChar, 30).Value = "Smith";
command.Parameters.Add("@GenderCode", SqlDbType.Char, 1).Value = "M";.
下面是原始答案,但正如下面评论中所指出的,请避免使用,reasons
cmd.Parameters.AddWithValue("@ProductCode", product.Code);
cmd.Parameters.AddWithValue("@Description", product.Description);
在当前代码中,您仅设置了参数,但未传递值。
编辑:基于上面的@MaxSzczurek评论
您的INSERT INTO列与您的VALUES子句不匹配。
INSERT INTO Products (paramColumn)
应该更改为:
INSERT INTO Products(ProductCode, Description, UnitPrice, OnHandQuantity)