未公开的引号错误

时间:2014-04-29 15:36:19

标签: c# asp.net

我收到错误

  

字符串'192'后的未闭合引号。不正确   '192''附近的语法

我多次查看了我的查询,但我无法发现错误。

我的代码段如下所示: -

if (Request.QueryString["id"] != null)
        {   

            string catid = Request.QueryString["id"].ToString();
            Query = "select * from messages where messageid ='" + catid + "'";
            adap = new SqlDataAdapter(Query, con);
            ds = new DataSet();
            adap.Fill(ds);
            Repeater2.DataSource = ds;
            Repeater2.DataBind();

        }

请帮助..

1 个答案:

答案 0 :(得分:5)

尝试使用参数化查询,它将避免错误。在你的情况下,你不应该引用id,并且你也接触到SQL注入。

if (Request.QueryString["id"] != null)
{
    string conString = "xxxxxxxxxxxxxxxxxxxxxxxx";
    using (SqlConnection con = new SqlConnection(conString))
    {
        con.Open();
        using (var cmd = new SqlCommand(
        "select * from messages where messageid =@catid",
        con))
        {
            cmd.Parameters.AddWithValue("@catid", catid);

            using (SqlDataReader reader = cmd.ExecuteReader())
            {
              //get the data
            } 
        }
    }
}