在asp.net中使用的SqlCommand更新表 [英] Update table using SqlCommand in asp.net
本文介绍了在asp.net中使用的SqlCommand更新表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图用更新SQL Server表的SqlCommand
,但是,表当我运行code永远不会被更新。
我的 ASPX
:
<标签ID =lblEmail>电子邮件:< /标签>
< ASP:文本框的id =txtEmail=服务器/>
<标签ID =LBL code> code:< /标签>
< ASP:文本框的id =TXT code=服务器/>
< ASP:ImageButton的ID =btnSubmit按钮=服务器的ImageUrl =图片/ Submit.gif的OnClick =btnSubmit_ClickWIDTH =80px/>
< ASP:ImageButton的ID =btnReset=服务器的ImageUrl =图片/ Reset.gif的OnClick =btnReset_ClickWIDTH =80px/>
这是我的aspx.cs:
保护无效btnSubmit_Click(对象发件人,EventArgs的发送)
{
字符串email = txtEmail.Text.ToString();
字符串主治code = txtReg code.Text.ToString(); SqlConnection的CON =新的SqlConnection(数据源=本地主机;初始目录= bkdb;用户ID = SA;密码= SA); CMD的SqlCommand =新的SqlCommand(UPDATE注册集[主治] = 1 WHERE [邮件] ='@Email和[主治code] LIKE'%@参加code%',CON); cmd.Parameters.Add(@电子邮件,SqlDbType.VarChar).value的=电子邮件;
cmd.Parameters.Add(@出席code,SqlDbType.VarChar).value的出席= code; con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
解决方案
您不需要在你的参数单引号。我怀疑你的名字的参数(即@Email)可能会得到PTED为文字间$ P $。
尝试从周围的参数去掉引号单:
CMD的SqlCommand =新的SqlCommand(UPDATE注册集[主治] = 1 WHERE [邮件] = @Email和[主治code] LIKE'%'+ @ $参加C $ C +'%',CON);
I'm trying to update a SQL Server table using SqlCommand
, however, the table never gets updated when I run the code
My 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"/>
This is my aspx.cs:
protected void btnSubmit_Click(object sender, EventArgs e)
{
string Email = txtEmail.Text.ToString();
string AttendingCode = txtRegCode.Text.ToString();
SqlConnection con = new SqlConnection("Data Source=localhost;Initial Catalog=bkdb;User ID=sa;Password=sa");
SqlCommand cmd = new SqlCommand("UPDATE Registration SET [Attending] = 1 WHERE [Email] = '@Email' and [AttendingCode] LIKE '%@AttendingCode%'", con);
cmd.Parameters.Add("@Email", SqlDbType.VarChar).Value = Email;
cmd.Parameters.Add("@AttendingCode", SqlDbType.VarChar).Value = AttendingCode;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
解决方案
You don't need single apostrophes around your parameters. I suspect your parameters names (i.e. @Email) might be getting interpreted as literals.
Try removing the single apostrophes from around your parameters:
SqlCommand cmd = new SqlCommand("UPDATE Registration SET [Attending] = 1 WHERE [Email] = @Email and [AttendingCode] LIKE '%' + @AttendingCode + '%'", con);
这篇关于在asp.net中使用的SqlCommand更新表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文