gpt4 book ai didi

c# - 如何使用c#插入和更新命令

转载 作者:行者123 更新时间:2023-11-30 15:30:38 24 4
gpt4 key购买 nike

我有 GridView,我正在尝试从表中检查 Task_ID,如果找到,我想更新记录,但如果 Task_ID 在表然后我想将它插入到我的表中。我的代码现在执行插入部分,但不执行代码的更新部分。我想知道如何在同一代码中执行此操作。请帮忙。谢谢这是我的代码:

int index = 0;
foreach (GridViewRow row in myGV.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{

Label ID = row.FindControl("lbl_ID") as Label;

string UID = Request.Form[row.FindControl("hfUId").UniqueID];

DateTime strDate = DateTime.Now;
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["myCon"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into myTable(TID, USR_ID, UPDT_DT) values(@ID, @USR_ID, @UPDT_DT) ";

cmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = ID.Text;
cmd.Parameters.Add("@USR_ID", SqlDbType.VarChar).Value = UID.ToString();
cmd.Parameters.Add("@UPDT_DT", SqlDbType.VarChar).Value = strDate.Date;
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
con.Dispose();
cmd.Dispose();
}

index++;
}

最佳答案

SQL 中有一个 MERGE 命令用于此目的。这是一个可能对您有用的示例:

Merge myTable As T
Using (Select Task_ID From myTable) As Src (Src_ID)
ON (T.Task_ID = Src.Src_ID)
WHEN MATCHED THEN
UPDATE SET T.UPDT_DT = 'your new value'
WHEN NOT MATCHED THEN
INSERT (TASK_ID, USR_ID, UPDT_DT)
VALUES (@TASK_ID, @USR_ID, @UPDT_DT);

将“您的新值”更改为正确的更新语句

关于c# - 如何使用c#插入和更新命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21764801/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com