|
■No42387 (sato さん) に返信
> 初めまして MySQLDriverCSの使い方が解りません。
MySQL や Connector のバージョンは?
> SQLのパラメータの設定でエラーがでてしまい困っています。
> oAdapter.Fill(oDt)でプログラムは落ちます。
その部分の与え方が悪い・・・と思いませんか?
> 何が原因か解らないので解るかたがいたらご教授願えませんでしょうか。
何か正常に動作するコードを書いて、そこから少しづつ拡張していくような
書き方で正しい書き方を習得しないと・・・
.NETなので、OleDbで、ACCESSのMDBでやってみるとか、SQL Server Express
でやってみるとか・・・
その辺のADO.NETの文法や使い方は同じです。
● どっかの掲示板で、この手の回答したんだが・・・
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim bRet As Boolean
DataGridView1.DataSource = Nothing
DataGridView1.DataMember = String.Empty
Using MyDB As MySqlConnection = New MySqlConnection(GetDBConnectString())
Try
MyDB.Open()
bRet = True
Catch ex As Exception
bRet = False
End Try
If bRet Then
Dim szSQL As stringbuilder
szSQL = New StringBuilder
With szSQL
.Append("SELECT B.S_MEISYOCD,")
.Append("B.S_MEISYO ")
.Append("FROM ")
.Append("TBL_MEISYO as A, ")
.Append("TBL_MEISYO_MSI as B ")
.Append("WHERE ")
.Append("A.S_MEISYOCD = B.S_MEISYOCD ")
.Append("AND A.S_MEISYOCD = ?ID ")
End With
Using ds As DataSet = New DataSet
Using MyAD As MySqlDataAdapter = New MySqlDataAdapter
Using MyCMD As MySqlCommand = MyDB.CreateCommand
Dim MyParam As MySqlParameter
MyParam = New MySqlParameter("?ID", MySql.Data.MySqlClient.MySqlDbType.Int16)
MyParam.Value = CType(TextBox1.Text, Object)
With MyCMD
.CommandType = CommandType.Text
.CommandTimeout = MyDB.ConnectionTimeout
.CommandText = szSQL.ToString
.Parameters.Add(MyParam)
End With
With MyAD
.SelectCommand = MyCMD
.Fill(ds, "MEISYO")
End With
End Using
With DataGridView1
.DataSource = ds
.DataMember = "MEISYO"
.Refresh()
End With
End Using
End Using
MyDB.Close()
End If
End Using
End Sub
Private Function GetDBConnectString() As String
Dim MyCon As MySqlConnectionStringBuilder
MyCon = New MySqlConnectionStringBuilder
With MyCon
.ConnectionProtocol = MySqlConnectionProtocol.Sockets
.ConnectionTimeout = 10
.Database = "TEST"
.PersistSecurityInfo = True
.Server = "LocalHost"
.UserID = "root"
.Password = "hogehoge"
End With
Return MyCon.ToString
End Function
TextBox1 に、抽出したいIDの値を入れて、ボタンをクリックすれば
DataGridView1 に結果を表示する・・・と言うサンプルです。
流用して、勉強して下さい。
※ S_MEISYOCD は、Intにしてます。Stringではありません。
DB的には、varcharではありません。
以上。
|