在asp.net中使用的SqlCommand更新表 [英] Update table using SqlCommand in asp.net

查看:90
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆