其他信息:'VALUE'附近的语法不正确



我是一名初级开发人员,我还在学习,目前我遇到了一个错误。我正在学习如何制作适当的sqlconnections的新技术..但似乎我无法找出问题所在。

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

System.Data中发生了类型为"System.Data.SqlClient.SqlException"的异常.dll但未在用户代码中处理。其他信息:"产品条形码"附近的语法不正确。

这是我现在的代码:

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();
            }

感谢您的时间和精力。

在您的命令中,您缺少许多空格,请尝试以下操作(注意 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'";

相关内容

最新更新