0

以下は私のコードです。私は自分のウェブサイトでクラスを使用しました。しかし、「「、」の近くの構文が正しくありません」というエラーが表示されます.....コードの何が問題なのか教えてください..

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");
    }
4

3 に答える 3

0

すべてを連結するのではなく、パラメータクエリを使用することをお勧めします。しかしその前に、あなたはすでにすべての価値を与えていると確信していますか?数値フィールドに値を指定しなかった場合、クエリは次のようになるため、エラーが表示されるはずです。

..cag1=,cag2..
于 2013-03-21T07:06:39.950 に答える
0

まず、ユーザー入力からクエリを作成することは非常に悪い考えです。代わりに、パラメーター化されたクエリを使用することをお勧めします。

出力s1して、クエリがどのように表示されるかを確認してください。

見積もりが不均衡である可能性があります。

于 2013-03-21T05:35:55.457 に答える
0

3 行目に問題があります。

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

ここでコンマとセミコロンが適切に指定されていないと思います。

于 2013-03-21T05:36:59.767 に答える