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:如果这个答案帮助你解决了问题,那么请。这将表达你对那些花自己的时间帮助你的人的感激之情。