Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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# 在asp.net中使用SqlCommand更新表_C#_Asp.net_Sql Server - Fatal编程技术网

C# 在asp.net中使用SqlCommand更新表

C# 在asp.net中使用SqlCommand更新表,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我正在尝试使用SqlCommand更新SQL Server表,但是,当我运行代码时,该表从未得到更新 我的ASPX: <label id="lblEmail">Email:</label> <asp:TextBox id="txtEmail" runat="server"/> <label id="lblcode">Code:</label> <asp:TextBox id="txtCode" runat="server"/>

我正在尝试使用
SqlCommand
更新SQL Server表,但是,当我运行代码时,该表从未得到更新

我的
ASPX

<label id="lblEmail">Email:</label>
<asp:TextBox id="txtEmail" runat="server"/>
<label id="lblcode">Code:</label>
<asp:TextBox id="txtCode" runat="server"/>
<asp:ImageButton ID="btnSubmit" runat="server" ImageUrl="Images/Submit.gif" OnClick="btnSubmit_Click" Width="80px"/>
<asp:ImageButton ID="btnReset" runat="server" ImageUrl="Images/Reset.gif" OnClick="btnReset_Click" Width="80px"/>

尝试使用WHERE子句选择记录。如果WHERE子句未找到任何记录,则不会更新任何内容

可能存在导致WHERE失败的尾随空格或区分大小写问题

有关更多信息:


当然,您可能会错误地更新与您想象中不同的数据库。

尝试使用WHERE子句选择记录。如果WHERE子句未找到任何记录,则不会更新任何内容

可能存在导致WHERE失败的尾随空格或区分大小写问题

有关更多信息:


当然,您可能会错误地更新与您想象中不同的数据库。

您的参数周围不需要单引号。我怀疑您的参数名称(即@Email)可能会被解释为文字

尝试删除参数周围的单撇号:

SqlCommand cmd = new SqlCommand("UPDATE Registration SET [Attending] = 1 WHERE [Email] = @Email and [AttendingCode] LIKE '%' + @AttendingCode + '%'", con);

参数周围不需要单撇号。我怀疑您的参数名称(即@Email)可能会被解释为文字

尝试删除参数周围的单撇号:

SqlCommand cmd = new SqlCommand("UPDATE Registration SET [Attending] = 1 WHERE [Email] = @Email and [AttendingCode] LIKE '%' + @AttendingCode + '%'", con);

似乎您传递的参数不正确-您不需要在查询中使用引号,请尝试一下:

using (var con = new SqlConnection("Data Source=localhost;Initial Catalog=bkdb;User ID=sa;Password=sa"))
using (var cmd = new SqlCommand(
    "UPDATE Registration SET [Attending] = 1 WHERE [Email] = @Email and [AttendingCode] LIKE @AttendingCode",
    con))
{
    cmd.Parameters.AddWithValue("@Email", Email);
    cmd.Parameters.AddWithValue("@AttendingCode", string.Format("%{0}%", AttendingCode));

    con.Open();
    cmd.ExecuteNonQuery();
}

似乎您传递的参数不正确-您不需要在查询中使用引号,请尝试一下:

using (var con = new SqlConnection("Data Source=localhost;Initial Catalog=bkdb;User ID=sa;Password=sa"))
using (var cmd = new SqlCommand(
    "UPDATE Registration SET [Attending] = 1 WHERE [Email] = @Email and [AttendingCode] LIKE @AttendingCode",
    con))
{
    cmd.Parameters.AddWithValue("@Email", Email);
    cmd.Parameters.AddWithValue("@AttendingCode", string.Format("%{0}%", AttendingCode));

    con.Open();
    cmd.ExecuteNonQuery();
}

当我现在运行代码时,表得到更新Thank@user3148149:如果这个答案帮助你解决了问题,那么请。这将表示您对花自己的时间帮助您的人的感激。当我现在运行代码时,表得到更新Thank@user3148149:如果这个答案帮助你解决了问题,那么请。这将表达你对那些花自己的时间帮助你的人的感激之情。