2008-12-03 139 views
3

我想插入一个新的行到Access数据库中。我正在寻找像这样做:如何将数据插入到使用vb.net的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一样?

+0

你在访问运行代码?如果没有,那么你的问题根本就不是一个Acccess问题,因为你使用的只是一个Jet数据库。 – 2008-12-05 03:53:02

回答

2

这是一种方式:

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的创建更新/删除/修改我。然后你只可以做这样的(假设你的数据库有一个用户表,你绘制了起来在数据集):

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) 
+0

我需要在更新行之前添加“UserDS.User.AddUserRow(NewUser)”来完成这项工作。 – seanyboy 2008-12-03 17:44:28

-1

不幸的是,世界上没有重新安排自身以适应你怎么想它应该工作。如果你想使用数据库,那么至少应该对SQL有些适应,这是一个好主意,因为这通常是如何完成的。

在光明的一面,有一个完整的产品类别,做你想要的东西。您可以查找诸如ActiveRecord,NHibernate或LINQ之类的对象关系映射(ORM)工具。但仍然学习一些SQL。

1

如何插入在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() 
相关问题