2012-03-15 16 views
2

私はVB.netを初めて使い慣れており、SQLのクエリ結果(文字列)を変数に渡すことは非常に困難です。VBの変数としてmySQLクエリの結果を使用する

私が試しても、読者の機能からブール値の出力が得られないようです。

スタッフテーブルからスタッフの「勘定タイプ」を取得し、その勘定タイプを変数に定義する必要があります。

提案がありますか?

ありがとうございました。ここで

答えて

4

一緒にMySQLとVBを使用しての良いチュートリアルです:

はあなたに興味がある可能性がありますから作品:

Sub Main() 

    Dim cs As String = "Database=testdb;Data Source=localhost;" _ 
     & "User Id=testuser;Password=test623" 

    Dim conn As New MySqlConnection(cs) 

    Try 
     conn.Open() 
     Dim stm As String = "SELECT * FROM Authors" 
     Dim cmd As MySqlCommand = New MySqlCommand(stm, conn) 
     Dim reader As MySqlDataReader = cmd.ExecuteReader() 

     While reader.Read() 
      Console.WriteLine(reader.GetInt32(0) & ": " _ 
       & reader.GetString(1)) 
     End While 

     reader.Close() 

    Catch ex As MySqlException 
     Console.WriteLine("Error: " & ex.ToString()) 
    Finally 
     conn.Close() 
    End Try 

End Sub 

注意MySqlDataReaderreader)オブジェクト。これにより、さまざまな種類のデータを戻すことができます。読んでいる列の種類を知っていて、適切な方法を使用する必要があります。例えば

あなたはブール値を読んでいる場合は、あなたが書くでしょう:

reader.GetBoolean(0) 

または日時を:

reader.GetDateTime(0) 

この例では、列番号を表すためにint型の引数を使用しますが、私は見つけますこれは列名を使用するよりも直観的ではありません。幸いMySqlDataReaderは、同様に列名をサポートしています。

reader.GetString("account_type") 

の例では、変数にこれらの値を読んで表示されませんが、それはかなり些細です:

Dim accountType As String 
... 
accountType = reader.GetString("account_type") 

(これは、アカウントの種類]列が文字列であることを前提としてい。)

うまくいけば、これは正しい軌道に乗るのに役立ちます。

+0

また、DBNULL値を扱うためのhttp://stackoverflow.com/questions/6998919/mysqldatareader-retrieving-null-value-problem-in-c-sharpを参照してください。これはC#用ですが、VBにも同じことが適用されます。 – JYelton

+0

ありがとうございます。 reader.getstring( "account_type")は魅力的に機能しました。私は本当にあなたの助けに感謝します。 – Sidewayz

関連する問題