VS Express 2012、SQL Server 2012 を使用しています。1 つのテーブル (コンピューター) と 10 列 (HaHu_ID、Serial_Number、Brand、Model、OS、Processor、HDD、Memory、ST、Speed) を持つ 2 つの行があります。
私はこのサイトで、SQL Server への vb.net インターフェイスを作成しようとして、できるだけ多くの投稿を読んでいます。それらを接続し、値を DataGridView テーブルに返すことに成功しました
SELECT * FROM computers
しかし、次のような他のコマンドを試したとき
SELECT * FROM computers
WHERE 'HaHu_ID' = '101'
空の DataGridView 行を返します。「HaHu_ID」をランダムなものに変更しようとしましたが、それでも空の行が返されました。正しい列名が表示されますが、行はすべて空です。
別のコマンド「SELECT 'HaHu_ID', 'Brand' FROM computers」を試したところ、次のように返されました。
Column1---|--Column2
-HaHu_ID--|--Brand
-HaHu_ID--|--Brand
列名は「Column1 and column2」に変更されており、ご覧のとおり、行は列名であるべきもので満たされています! イライラして、「SELECT 'HaHu'、'Brand_ID' FROM computer」(データベースに存在しない列) を試したところ、次のように返されました。
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
ステートメントは完全に機能しますが、何か他のことを試みるとすぐに機能しません。
何故ですか?ありがとう。