附加信息:“VALUE'附近的语法不正确

时间:2016-02-22 11:11:11

标签: c# sql syntax

我是一名初学者,我还在学习,目前我仍然遇到错误。我正在学习一种关于如何做出正确sqlconnections的新技术......但似乎我无法找出错误的原因。

这是一个简单的程序,用户正在扫描条形码以填充文本框。而且取决于那个价值。其余的文本框将被填写。

  

类型' System.Data.SqlClient.SqlException'的异常发生在System.Data.dll中,但未在用户代码中处理。附加信息:' ProductBarcode'附近的语法不正确。

这是我现在的代码:

protected void PBarcodeTxt_TextChanged(object sender, EventArgs e)
{

        string cmd = "SELECT ProductNaam, ProductPrijs, ProductOmschrijving, ProductBarcode" +
                     "FROM Producten" +
                     "WHERE ProductBarcode LIKE '@Barcode'";

        using (SqlConnection connection = new SqlConnection(cstring))
        {

            SqlCommand command = new SqlCommand(cmd, connection);
            command.Parameters.Add("@Barcode", SqlDbType.VarChar, 50).Value = PBarcodeTxt.Text;

            try
            {
                connection.Open();
                SqlDataReader rdr = command.ExecuteReader();
                rdr.Read();

                PNaamTxt.Text = (rdr["ProductNaam"].ToString());
                POmschrijvingTxt.Text = (rdr["ProductOmschrijving"].ToString());
                PPrijsTxt.Text = (rdr["ProductPrijs"].ToString());
                // PBarcodeTxt.Text = (rdr["ProductBarcode"].ToString());
            }
           finally
            {
                connection.Close();
            }

感谢您的时间和精力。

1 个答案:

答案 0 :(得分:1)

在您的命令中,您缺少许多空格,请尝试以下操作(注意FROM和WHERE之前的空格:

string cmd = "SELECT ProductNaam, ProductPrijs, ProductOmschrijving, ProductBarcode" +
                     " FROM Producten" +
                     " WHERE ProductBarcode LIKE '@Barcode'";

当你以这种方式连接字符串时,你需要明确地输入新的行和空格,连接之前你所拥有的实际上是:

string cmd = "SELECT ProductNaam, ProductPrijs, ProductOmschrijving, ProductBarcodeFROM ProductenWHERE ProductBarcode LIKE '@Barcode'";