vb.netを使用してAccessテーブルにデータを挿入するにはどうすればよいですか?
質問
新しい行をAccessデータベースに挿入したい。私は次のようなことをしています:
oConnection = new Connection("connectionstring")
oTable = oCennection.table("Orders")
oRow = oTable.NewRow
oRow.field("OrderNo")=21
oRow.field("Customer") = "ABC001"
oTable.insert
これは私にとって物事を行う賢明な方法のようです。
ただし、私がネット上で探しているすべての例は、SQLステートメントを構築するか、「SELECT * From ...」を作成し、これを使用して多数のオブジェクトを作成することにより、データを挿入するようです。 ...
-配列にテーブルの現在の内容を入力します。
-この配列に新しい行を挿入します。
-配列の変更でデータベースを更新します。
vb.netを使用してAccessデータベースにデータを挿入する最も簡単な方法は何ですか?
上記の私のpCodeに似た、使用できる方法はありますか?
解決
これは1つの方法です。
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\emp.mdb;")
cn.Open()
str = "insert into table1 values(21,'ABC001')"
cmd = New OleDbCommand(str, cn)
cmd.ExecuteNonQuery
データセットを作成し、Accessデータベースに接続されたtableadapterを追加してから、tableadapterにupdate / delete / modifyを作成させます。次に、このようにすることができます(データベースにユーザーテーブルがあり、それをデータセットにマッピングしたと仮定します):
Dim UserDS As New UserDS
Dim UserDA As New UserDSTableAdapters.UsersTableAdapter
Dim NewUser As UserDS.UsersRow = UserDS.Users.NewUsersRow
NewUser.UserName = "Stefan"
NewUser.LastName = "Karlsson"
UserDS.User.AddUserRow(NewUser)
UserDA.Update(UserDS.Users)
他のヒント
vb.netに文字列を挿入する方法私のpgmが整数にのみ挿入する
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\User\My Documents\db1.mdb;")
cn.Open()
str = "insert into table1 values(" & CInt(t2.Text) & ",'" & (t1.Text) & ") "
cmd = New OleDbCommand(str, cn)
icount = cmd.ExecuteNonQuery
MessageBox.Show("stored")
Catch
End Try
cn.Close()
残念ながら、世界はあなたがそれがどのように働くべきかを考える方法に合うようにそれ自身を再編成しません。データベースを使用したい場合は、SQLを使用するのが一般的であるため、少なくともある程度はSQLに慣れることをお勧めします。
明るい面では、あなたが望むものを行う製品のカテゴリーがあります。 ActiveRecord、NHibernate、またはLINQなどのオブジェクトリレーショナルマッピング(ORM)ツールを探すことができます。しかし、まだいくつかのSQLを学んでください。