当我在我的项目中使用以下代码时,它会显示错误

时间:2017-09-02 19:51:05

标签: asp.net

SqlConnection con=new SqlConnection("Data Source=PRAVESH-PC\\SQLEXPRESS;Initial Catalog=shopping;Integrated Security=True");

    string a, b;
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void b1_Click(object sender, EventArgs e)
    {

        a = Class1.GetRandomPassword(10).ToString();
        f1.SaveAs(Request.PhysicalApplicationPath+"./images/" + a + f1.FileName.ToString());
        b="images/" + a + f1.FileName.ToString();
        con.Open();
        SqlCommand cmd = con.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "insert into product values('"+t1.Text+"','"+t2.Text+"','"+t3.Text+"','"+t4.Text+",'"+b.ToString()+"')";
        cmd.ExecuteNonQuery(); ///// Error Occured..
        con.Close();
    }
}

当我在我的项目中使用此代码时,它会出错:

  

错误详细信息:System.Data.SqlClient.SqlException:语法不正确   靠近' images'。字符串后面的未闭合引号')'。

任何人都可以帮助我。

由于

1 个答案:

答案 0 :(得分:1)

您在此处缺少单引号:'"+t4.Text+"

所有其他参数都是正确包装的,但是这个参数缺少它的最后一个引用。

但是,整个字符串连接都是丑陋的。我建议做一些其他的事情,也许是使用string.Format,其中包括:

string.Format("insert into product values('{0}', '{1}', ...)", t1.Text, t2.Text, etc etc);

更好的是,使用sql paramaters