Исключение Sql: недопустимое имя столбца
Цитата:System.Data.SqlClient.SqlException: 'недопустимое имя столбца 'кружки'.'
Я не уверен в ошибке, так как скопировал ее из фрагмента кода на другой форме, которая отлично работает.
Я извлекаю информацию из базы данных, используя текст с кнопки. Кнопка помечена как "кружки", а описание товара также помечено как "кружки". Имя столбца "наименование".
Все переменные являются общедоступными из формы 1.
Код:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click If Form1.lst_Receipt.Items.Count = 0 Then Form1.noitemcost = 0 Form1.noitemtax = 0 Form1.noitemtotal = 0 Form1.lst_Receipt.Items.Add("UTA Planetarium") Form1.lst_Receipt.Items.Add(FormatDateTime(Today, DateFormat.LongDate)) Form1.lst_Receipt.Items.Add(FormatDateTime(Today, DateFormat.LongTime)) Form1.lst_Receipt.Items.Add(" ") Form1.lst_Receipt.Items.Add("SubTotal: $" + Form1.noitemcost.ToString) Form1.lst_Receipt.Items.Add("Tax: $" + Form1.noitemtax.ToString("F2")) Form1.lst_Receipt.Items.Add("Total: $" + Form1.noitemtotal.ToString("F2")) End If If Form1.reset = 1 Then Form1.subtotal = 0 Form1.tax = 0 Form1.total = 0 Form1.tickettax = 0 Form1.reset = 0 End If Form1.itemdesc = Button1.Text Form1.sqlConnection1.Open() 'I believe the next line is where it is hanging up at. Form1.cmd = New SqlClient.SqlCommand("SELECT * FROM Inventory WHERE [ItemDescription] =" + Form1.itemdesc, Form1.sqlConnection1) Form1.reader = Form1.cmd.ExecuteReader Form1.reader.Read() Form1.itemcost = Form1.reader(11) Form1.proddesc = Form1.reader(3) 'Form1.itemdesc = Form1.reader(2) 'itemdesc = reader(2).ToString Form1.sqlConnection1.Close() Form1.lst_Receipt.Items.RemoveAt(Form1.lst_Receipt.Items.Count - 1) Form1.lst_Receipt.Items.RemoveAt(Form1.lst_Receipt.Items.Count - 1) Form1.lst_Receipt.Items.RemoveAt(Form1.lst_Receipt.Items.Count - 1) Form1.lst_Receipt.Items.Add(Form1.proddesc + vbTab + Form1.quantity + vbTab + Form1.itemcost.ToString("F2")) Form1.lst_Receipt.Items.Add("SubTotal: $" + Form1.subtotal.ToString("F2")) Form1.lst_Receipt.Items.Add("Tax: $" + Form1.tax.ToString("F2")) Form1.lst_Receipt.Items.Add("Total: $" + Form1.total.ToString("F2")) Form1.TextBox1.Text = String.Empty Form1.TextBox2.Text = "" Form1.TextBox1.Focus() Close() End Sub
Это находится в коробке с надписью "немедленное окно":
ClientConnectionId:dfec050c-bd3f-4cef-9e0e-ad871a9487e2 Error Number:207,State:1,Class:16</ExceptionString><DataItems><Data><Key>HelpLink.ProdName</Key><Value>Microsoft SQL Server</Value></Data><Data><Key>HelpLink.ProdVer</Key><Value>13.00.4001</Value></Data><Data><Key>HelpLink.EvtSrc</Key><Value>MSSQLServer</Value></Data><Data><Key>HelpLink.EvtID</Key><Value>207</Value></Data><Data><Key>HelpLink.BaseHelpUrl</Key><Value>http://go.microsoft.com/fwlink</Value></Data><Data><Key>HelpLink.LinkId</Key><Value>20476</Value></Data></DataItems></Exception></TraceRecord>
Надеюсь, этого достаточно, чтобы идти дальше. Это мой первый раз, когда я пишу в vb.net и sql.
Пожалуйста, дайте мне знать, если у вас возникнут какие-либо вопросы.
Что я уже пробовал:
Я проверил синтаксис на обоих. Он прекрасно работает при использовании штрих-кода для поиска его через SQL. Единственное отличие от этого кода заключается в том, что его нужно вытащить из button1.text для этой конкретной формы.