我正在使用 VS Express 2012、SQL Server 2012。我有一张表(计算机)和两行 10 列(HaHu_ID、Serial_Number、品牌、型号、操作系统、处理器、硬盘、内存、ST、速度)。
我一直在这个网站上阅读尽可能多的帖子,试图创建一个到 SQL Server 的 vb.net 接口。我成功连接它们并将值返回到 DataGridView 表
SELECT * FROM computers
但是当我尝试其他命令时
SELECT * FROM computers
WHERE 'HaHu_ID' = '101'
它返回一个空的 DataGridView 行!尝试将“HaHu_ID”更改为随机的,但它仍然给了我空行。显示了正确的列名,但行全部为空。
当我尝试另一个命令“SELECT 'HaHu_ID', 'Brand' FROM computer”时,它返回:
Column1---|--Column2
-HaHu_ID--|--Brand
-HaHu_ID--|--Brand
列名已更改为“Column1 和 column2”,如您所见,行中填满了应该是列名的内容!沮丧的我尝试了“从计算机中选择'HaHu','Brand_ID'”(我的数据库中不存在的列)并返回:
Column1---|--Column2
---HaHu----|--Brand_ID
----HaHu---|--Brand_ID
我回到原来的SELECT * FROM computers
,它再次工作!
这是我的代码:
Dim cs as New SqlConnection...
cs.Open()
'Dim da2 as New SqlDataAdapter("SELECT * FROM computers WHERE 'HaHu_ID' = '101'", cs)
Dim da2 as New SqlDataAdapter("SELECT * FROM computers", cs)
Dim table as New DataTable()
table.Locale = System.Globalization.CultureInfo.InvariantCulture
da2.Fill(table)
BindingSource1.DataSource = table
dataGrid1.DataSource = BindingSource1
cs.Close()
(我无法复制和粘贴它,因为我现在在另一台计算机上)。因此,该select * from computers
语句完美运行,但是一旦我尝试其他方法,它就不起作用了。
这是为什么?谢谢。