Как бы я вставить данные в таблицу доступа с помощью vb.net? - PullRequest
3 голосов
/ 03 декабря 2008

Я хочу вставить новую строку в базу данных 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 выше?

Ответы [ 3 ]

2 голосов
/ 03 декабря 2008

Это один из способов:

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, а затем позволить табличному адаптеру создать для меня обновление / удаление / изменение. Тогда вы можете сделать это следующим образом (при условии, что в вашей базе данных есть пользовательская таблица, и вы отобразили это в наборе данных):

    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)
1 голос
/ 08 апреля 2009

как вставить строку в vb.net только вставить в целое число мой пгм

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()
0 голосов
/ 16 декабря 2008

К сожалению, мир не перестраивается так, как вы думаете, он должен работать. Если вы хотите работать с базой данных, неплохо бы хотя бы немного освоиться с SQL, так как обычно это делается.

С другой стороны, есть целая категория продуктов, которые делают то, что вы хотите. Вы можете найти инструмент Object-Relational Mappings (ORM), такой как ActiveRecord, NHibernate или LINQ. Но все же выучите немного SQL.

...