VBでMDBメンテ への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 初心者です  (社会人)
投稿日時
2020/4/19 12:43:02
更新例と 追加例双方ほしいです
申し訳ありません
OleDbConnectionは定義されていませんでエラーになります
何を参照すればよいでしょう?
申し訳ありません
OleDbConnectionは定義されていませんでエラーになります
何を参照すればよいでしょう?
投稿者 るきお  (社会人)
投稿日時
2020/4/19 09:21:22
確認させてください。
・1つ目のサンプルはMDBの読み込み例です。
・2つ目のサンプルはSQL Serverの書き込み例です。
初心者ですさんが求めているのは、MDBに書き込む例でしょうか?
別のサンプルですが、
http://rucio.o.oo7.jp/main/VBdotNet/Database/Database3.htm
のリスト3でMDBの書き込み例を紹介しています。
これでお役に立てますか?
・1つ目のサンプルはMDBの読み込み例です。
・2つ目のサンプルはSQL Serverの書き込み例です。
初心者ですさんが求めているのは、MDBに書き込む例でしょうか?
別のサンプルですが、
http://rucio.o.oo7.jp/main/VBdotNet/Database/Database3.htm
のリスト3でMDBの書き込み例を紹介しています。
これでお役に立てますか?
Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Database\Animals.mdb")
Dim SQLCm As OleDbCommand = Cn.CreateCommand
SQLCm.CommandText = "UPDATE T_目マスタ SET 説明= 'コウモリ, オオコウモリ' WHERE 目ID = 2"
Cn.Open()
SQLCm.ExecuteNonQuery()
Cn.Close()
MsgBox("変更しました。")
投稿者 初心者です  (社会人)
投稿日時
2020/4/18 20:10:00
初心者です VBでMDBをメンテしたいとおもいます
HPのプログラムをコピーしたいとおおいますが上手くいきません
http://rucio.a.la9.jpDataSetの内容をデータベースに書き込む
MDBに接続する
以下の例では、MDBに接続して[社員]テーブルのはじめの[氏名]を表示する。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim St As String
Dim Cn As New System.Data.OleDb.OleDbConnection
Dim SQL As System.Data.OleDb.OleDbCommand
Dim UserID As String = "Admin"
Dim Password As String = ""
Dim MDBFile As String = "C:\Program Files\MicrosoftOffice\Office10\Samples\Northwind.mdb"
St = "Provider=""Microsoft.Jet.OLEDB.4.0"";"
St &= "Data Source=""" & MDBFile & """;"
St &= "User ID=" & UserID & ";"
St &= "Jet OLEDB:Database Password=" & Password
Cn.ConnectionString = St
SQL = Cn.CreateCommand
SQL.CommandText = "SELECT 氏名 FROM 社員"
Cn.Open()
MsgBox(SQL.ExecuteScalar)
Cn.Close()
SQL.Dispose()
Cn.Dispose()
End Sub
と
以下の例では、データベースからauthorsと言う名前のテーブルの内容をデータセットに読み込んで、最初のレコードの列cityの値を Tokyo に変更してからデータベースに書き込む。
authorsテーブルはSQL Server付属のサンプルであるpubsデータベースのテーブルだが、テーブル名や列名の部分は自由に変更できるのでこの例はどのような場合にも対応できる。
VB.NET2002対応 VB.NET2003対応 VB2005対応
Dim Cn As SqlClient.SqlConnection
'<ここにCnのデータベースへの接続処理を追加してください。>
Dim sqlSelect As New SqlClient.SqlCommand("SELECT * FROM authors", Cn)
Dim Adapter As New SqlClient.SqlDataAdapter(sqlSelect)
Dim Builder As New SqlClient.SqlCommandBuilder(Adapter)
Dim ds As New DataSet
Adapter.Fill(ds)
ds.Tables(0).Rows(0)("city") = "Tokyo"
Adapter.Update(ds)
をくみあわせたいのですが、どうすればよいでしょうか?
ご指導お願いします
/main/dotnet/Samples/SmpleCnt.htm です
HPのプログラムをコピーしたいとおおいますが上手くいきません
http://rucio.a.la9.jpDataSetの内容をデータベースに書き込む
MDBに接続する
以下の例では、MDBに接続して[社員]テーブルのはじめの[氏名]を表示する。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim St As String
Dim Cn As New System.Data.OleDb.OleDbConnection
Dim SQL As System.Data.OleDb.OleDbCommand
Dim UserID As String = "Admin"
Dim Password As String = ""
Dim MDBFile As String = "C:\Program Files\MicrosoftOffice\Office10\Samples\Northwind.mdb"
St = "Provider=""Microsoft.Jet.OLEDB.4.0"";"
St &= "Data Source=""" & MDBFile & """;"
St &= "User ID=" & UserID & ";"
St &= "Jet OLEDB:Database Password=" & Password
Cn.ConnectionString = St
SQL = Cn.CreateCommand
SQL.CommandText = "SELECT 氏名 FROM 社員"
Cn.Open()
MsgBox(SQL.ExecuteScalar)
Cn.Close()
SQL.Dispose()
Cn.Dispose()
End Sub
と
以下の例では、データベースからauthorsと言う名前のテーブルの内容をデータセットに読み込んで、最初のレコードの列cityの値を Tokyo に変更してからデータベースに書き込む。
authorsテーブルはSQL Server付属のサンプルであるpubsデータベースのテーブルだが、テーブル名や列名の部分は自由に変更できるのでこの例はどのような場合にも対応できる。
VB.NET2002対応 VB.NET2003対応 VB2005対応
Dim Cn As SqlClient.SqlConnection
'<ここにCnのデータベースへの接続処理を追加してください。>
Dim sqlSelect As New SqlClient.SqlCommand("SELECT * FROM authors", Cn)
Dim Adapter As New SqlClient.SqlDataAdapter(sqlSelect)
Dim Builder As New SqlClient.SqlCommandBuilder(Adapter)
Dim ds As New DataSet
Adapter.Fill(ds)
ds.Tables(0).Rows(0)("city") = "Tokyo"
Adapter.Update(ds)
をくみあわせたいのですが、どうすればよいでしょうか?
ご指導お願いします
/main/dotnet/Samples/SmpleCnt.htm です
>何を参照すればよいでしょう?
プログラムの先頭に Imports System.Data.OleDb を追加します。
先頭に Option ... がある場合はその下です。
または、As New OleDbConnection の代わりに次のように記述します。
As New System.Data.OleDb.OleDbConnection
追加する例はUPDATE .... と書いてある文字列の部分が変わるだけです。
具体的な例は
http://rucio.o.oo7.jp/main/VBdotNet/Database/Database3.htm
の リスト4 で紹介しています。
ここに転記します。
更新も追加もテーブルの定義や制約によって書き方が変わります。
たとえば、リレーションシップが定義されているテーブルでは、リレーションシップ先も同時に更新しないとエラーになる場合があります。