您可以在 SQL 的 INSERT INTO 语句中使用 WHERE 语句吗?
这是我目前正在尝试做的事情。
INSERT INTO AssetComponents(ComponentID, ComponentDescription)
VALUES (@ComponentType, @CompDescr)
WHERE (AssetTagNumber = @TagNo)
但是编译器的 WHERE 语句存在问题。
谢谢
** *更新* ***
这是我迄今为止使用的完整代码,并进行了修改
protected void AddBut_Click(object sender, EventArgs e)
{
//still passing the Asset tag number forward here
var ID = Request.QueryString["Id"];
string sql = "";
using (SqlConnection con = new SqlConnection("Data Source: *******************)
{
sql = "IF (AssetTagNumber = @TagNo) " +
"BEGIN " +
"INSERT INTO AssetComponents(ComponentID, ComponentDescription) " +
"VALUES (@ComponentType, @CompDescr) " +
"END ";
using (SqlCommand cmd = new SqlCommand(sql, con))
{
// try
// {
cmd.Parameters.AddWithValue("@TagNo", ID);
cmd.Parameters.AddWithValue("@ComponentType", TypeDDL.Text.Trim());
cmd.Parameters.AddWithValue("@CompDescr", DescrTB.Text.Trim());
con.Open();
cmd.ExecuteNonQuery();
con.Close();
Response.Redirect("ComponentDetails.aspx");
// }
// catch (SqlException ex) { MessageBox.Show(" "); }
// catch (Exception ex) { MessageBox.Show(" "); }
}
}
}
对不起,我第一次不够清楚。
我想要做的是插入一条新记录,其中包含一个子句,如果这条记录有一个现有的 PK,然后使用这个键为该记录插入另一个条目
再次道歉