Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Добавление записей в таблицу. Добавлено: 17.04.07 18:43  

Автор вопроса:  ayilec
Есть таблица

Public dt_grid As New DataTable()

Я в неё добавляю строку по нажатию кнопки

dr = dt_grid.NewRow()

        dr(0) = Me.CbMaterID.Text()
        dr(1) = Me.CBSpeck.Text()
        dr(2) = Me.CBPack.Text()
        dr(3) = Me.CbLine.Text()
        dr(4) = Me.DataBegin.Text()
        dr(5) = Me.MaskTimeBegin.Text()
        dr(6) = Me.DateEnd.Text()
        dr(7) = Me.MaskTimeEnd.Text()
        dr(8) = Format(Val(Me.VolDal.Text) * Val(Me.CbKoef_DAl.Text))
        dr(9) = Me.CbMaterName.Text()
        dr(10) = Me.cbMkeToStock.Text()
        dr(11) = Me.CbVer.Text()
        dr(12) = Me.CbBrew.Text()
        dr(13) = Me.txtLogin.Text()
        dr(14) = Me.CbKoef_DAl.Text()
        dr(15) = Me.CbSpacID.Text()
        dr(16) = Me.CbPackID.Text()

        dt_grid.Rows.Add(dr)
И вывожу в DataGridView

Me.DataGridView1.DataSource = dt_grid



А как мне добавить все записи из dt_grid в таблицу БД Access???????
Я делала так.



        Dim insSQL As String
        Dim insDA As OleDbDataAdapter
        Dim insDS As DataSet
        Dim pc As OleDbParameterCollection

        insSQL = "INSERT INTO SAP_DBGrid (MaterialID,MaterialName,MkeToStock,date_begin,time_begin,date_end,time_end,Volume,Ver,LineName,Brew,Login,Koef_Dal,SpeckID,PackID,RussianSpecName,RussianPackName)" & _
                 "VALUES(@MaterialID,@MaterialName,@MkeToStock,@Date_begin,@Time_begin,@Date_end,@Time_end,@Volume,@Ver,@LineName,@Brew,@Login,@Koef_dal,@SpeckId,@PackId,@RussianSpecName,@RussianPackName)"

        conStr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Client.mdb"
        con = New OleDbConnection(conStr)

        Dim cmd As New OleDbCommand(insSQL, con)
        insDA = New OleDbDataAdapter()
        'insDS = New DataSet()

        pc = cmd.Parameters

        pc.Add("@MaterialID", OleDbType.Integer, 0, "MaterialID").Value = Me.CbMaterID.Text
        pc.Add("@MaterialName", OleDbType.VarChar, 0, "MaterialName").Value = Me.CbMaterName.Text
        pc.Add("@MkeToStock", OleDbType.VarChar, 0, "MkeToStock").Value = Me.cbMkeToStock.Text
        pc.Add("@date_begin", OleDbType.VarChar, 0, "Date_begin").Value = Me.DataBegin.Text
        pc.Add("@time_begin", OleDbType.VarChar, 0, "Time_begin").Value = Me.MaskTimeBegin.Text
        pc.Add("@date_end", OleDbType.VarChar, 0, "Date_end").Value = Me.DateEnd.Text
        pc.Add("@time_end", OleDbType.VarChar, 0, "Time_end").Value = Me.MaskTimeEnd.Text
        pc.Add("@volume", OleDbType.Decimal, 0, "Volume").Value = Me.VolDal.Text
        pc.Add("@ver", OleDbType.VarChar, 0, "Ver").Value = Me.CbVer.Text
        pc.Add("@LineName", OleDbType.VarChar, 0, "LineName").Value = Me.CbLine.Text
        pc.Add("@Brew", OleDbType.VarChar, 0, "Brew").Value = Me.CbBrew.Text
        pc.Add("@Login", OleDbType.VarChar, 0, "Login").Value = Me.txtLogin.Text
        pc.Add("@Koef_dal", OleDbType.Decimal, 0, "Koef_dal").Value = Me.CbKoef_DAl.Text
        pc.Add("@SpeckId", OleDbType.Integer, 0, "SpeckId").Value = Me.CbSpacID.Text
        pc.Add("@PackId", OleDbType.Integer, 0, "PackId").Value = Me.CbPackID.Text
        pc.Add("@RussianSpecName", OleDbType.VarChar, 0, "RussianSpecName").Value = Me.CBSpeck.Text
        pc.Add("@RussianPackName", OleDbType.VarChar, 0, "RussianPackName").Value = Me.CBPack.Text

        insDA.InsertCommand = cmd
        insDA.Update(dt_grid)

Что то, тут не то. Ошибку не выдает и таблицу не обновляет.
 

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 18.04.07 03:02
Data Source=|DataDirectory|\Client.mdb

первый раз такое вижу, попробуй нормально путь указать.

insSQL = "INSERT INTO SAP_DBGrid

Имя таблицы попробуй взять в квадратный скобки

А вообще имхо удобнее через DAO or ADO, чем это OleDb :\

Ответить

Номер ответа: 2
Автор ответа:
 ayilec



Вопросов: 2
Ответов: 1
 Профиль | | #2 Добавлено: 18.04.07 10:20
Проблема не в этом, а в том, что параметры не получают
значения из dt_grid.

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 18.04.07 13:50
Где? Здесь?
        insSQL = "INSERT INTO SAP_DBGrid (MaterialID,MaterialName,MkeToStock,date_begin,time_begin,date_end,time_end,Volume,Ver,LineName,Brew,Login,Koef_Dal,SpeckID,PackID,RussianSpecName,RussianPackName)" & _
                 "VALUES(@MaterialID,@MaterialName,@MkeToStock,@Date_begin,@Time_begin,@Date_end,@Time_end,@Volume,@Ver,@LineName,@Brew,@Login,@Koef_dal,@SpeckId,@PackId,@RussianSpecName,@RussianPackName)"
:) А что должны? :_\) Посмотри синтаксис INSERT INTO

insert into ТАБЛИЦА (поле1, поле2) VALUES (значение_для_поля1, значение_для_поля2)

т.е. должно быть что-то вроде...
sql$ = "insert into SAP_DBGrid (" & MaterialID &", " & MaterialName & ";) VALUES (" & CbMaterID.Text & ", " & CBSpeck.Text)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам