使用更新查询时,','附近的语法不正确

时间:2013-03-21 05:31:45

标签: asp.net

以下是我的代码。我在我的网站上使用了类。但是我收到的错误是“附近的语法不正确”,“......任何人都可以告诉我代码中有什么问题..

protected void btnadd_Click(object sender, EventArgs e)
    {
        s1 = "Update tckt_tbl Set class='" + ddlclass.Text + "',dist=" + lbldist.Text + ",no_of_adults=" + ddladults.Text + ",no_of_senior=" + ddlsenior.Text + ",n1='" + txtn1.Text + "',";
        s1 += "n2='" + txtn2.Text + "',n3='" + txtn3.Text + "',n4='" + txtn4.Text + "',n5='" + txtn5.Text + "',n6='" + txtn6.Text + "',";
        s1 += "ag1=" + txtag1.Text + ",ag2=" + txtag2.Text + ",ag3=" + txtag3.Text + ",ag4=" + txtag4.Text + ",ag5=" + txtag5.Text + ",ag6=" + txtag6.Text + ",";
        s1 += "gen1='" + txtgen1.Text + "',gen2='" + txtgen2.Text + "',gen3='" + txtgen3.Text + "',gen4='" + txtgen4.Text + "',gen5='" + txtgen5.Text + "',gen6='" + txtgen6.Text + "',";
        s1 += "cn1='" + txtchn1.Text + "',cn2='" + txtchn2.Text + "',cag1=" + txtcag1.Text + ",cag2=" + txtcag2.Text + ",cgen1='" + txtcgen1.Text + "',cgen2='" + txtcgen2.Text + "' Where userid=" + Session["suser"].ToString() + "";
        con.ExecQuery(s1);
        Response.Redirect("tcktbook_itckt.aspx");
    }

3 个答案:

答案 0 :(得分:0)

首先,构建really bad idea query from user input 。我建议你改用parameterized query

尝试输出s1以查看查询的内容。

你的报价不平衡很有可能。

答案 1 :(得分:0)

第三行有问题。

s1 += "ag1=" + txtag1.Text + ",ag2=" + txtag2.Text + ",ag3=" + txtag3.Text + ",ag4=" + txtag4.Text + ",ag5=" + txtag5.Text + ",ag6=" + txtag6.Text + ",";

我认为这里没有正确地给出逗号和分号。

答案 2 :(得分:0)

我建议您使用参数查询,而不是连接所有内容。但在那之前,你确定你已经给了所有的价值吗?因为如果你没有给数字字段赋值,它应该显示错误,因为查询变为:

..cag1=,cag2..