Quote: System.Data.SqlClient.SqlException:'无效的列名'Mugs'。'
我不确定错误,因为我从一段代码中复制了另一个完美无缺的表格。
我使用按钮上的文本从数据库中提取信息。按钮标记为"Mugs",项目描述也标记为"Mugs"。列名是"ItemDescription"。
所有变量都是从Form1公开共享的。
代码:
私人 Sub Button1_Click(发件人作为 对象,e 作为 EventArgs)句柄 Button1.Click
如果 Form1.lst_Receipt.Items .Count = 0 然后
Form1.noitemcost = 0
Form1.noitemtax = 0
Form1.noitemtotal = 0
Form1.lst_Receipt.Items.Add(" UTA Planetarium")
Form1.lst_Receipt.Ite ms.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(" 税:$" + Form1.noitemtax.ToString(" F2"))
Form1.lst_Receipt.Items.Add(" 总计:$" + Form1.noitemtotal.ToString(" F2"))
结束 如果
如果佛rm1.reset = 1 然后
Form1.subtotal = 0
Form1.tax = 0
Form1.total = 0 < / span>
Form1.tickettax = 0
Form1.reset = 0
结束 如果
Form1.itemdesc = Button1.Text
Form1.sqlConnection1.Open()
' 我相信下一个行是它挂起的地方。
Form1.cmd = 新 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"< / span>))
Form1.lst_Receipt.Items.Add(" Tax:$" + Form1.tax.ToString(" F2"))
Form1.lst_Receipt.Items。添加(" 总计:$" + Form1.total.ToString(" F2"))
Form1.TextBox1.Text = String .Empty
Form1.TextBox2.Text = " "
Form1.TextBox1。焦点()
关闭()
结束 Sub
这是一个标有"立即窗口"的框:
ClientConnectionId:dfec050c-bd3f-4cef-9e0e-ad871a9487e2
错误号码:207,状态:1,类:16< / ExceptionString>< DataItems>< ;数据>< Key> HelpLink.ProdName< / Key>< Value> Microsoft SQL Server< / Value>< / Data>< Data>< Key> HelpLink.ProdVer< / Key>< Value> 13.00 0.4001< /值及GT;< /数据与GT;HelpLink.LinkId20476 TraceRecord>
希望这足够了。这是我第一次在vb.net和sql写作。
如果您有任何疑问,请告诉我。
我尝试了什么:
我检查了两者的语法。使用条形码通过SQL查找时,它工作正常。与该代码的唯一区别是它需要从button1.text获取此特定形式。
解决方案
" + Form1.noitemcost.ToString )
Form1.lst_Receipt.Items.Add(" Tax:
" + Form1.noitemtax.ToString(" F2"))
Form1.lst_Receipt.Items.Add(" 总计:
" + Form1.noitemtotal.ToString(" F2"))
结束 如果
如果 Form1。 reset = 1 然后
Form1.subtotal = 0
Form1.tax = 0
Form1.total = 0
Form1.tickettax = 0
Form1.reset = 0
结束 如果
Form1.itemdesc = Button1.Text
Form1.sqlConnection1.Open ()
' 我相信下一行是挂在哪里。
Form1.cmd = 新 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: