我是一名初学者,我还在学习,目前我仍然遇到错误。我正在学习一种关于如何做出正确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();
}
感谢您的时间和精力。
答案 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'";