2014-10-30 3 views
0
Protected Sub btnSave_Click(sender As Object, e As EventArgs) 
    Dim invoiceclass As New InvoiceClass() 
    Dim invoicedb As New DbInvoiceClass() 
    invoiceclass.CustomerName = txtCustomerName.Text 
    invoiceclass.DateInvoice = txtDate.Text 
    invoiceclass.NetTotal = txtNetTotal.Text 
    invoicedb.InsertInvoice(invoiceclass) 
    Dim ID As Integer 


    Dim con As New SqlConnection(DbConnectionClass.ConnectionStringName) 


    con.Open() 
    If con.State = System.Data.ConnectionState.Open Then 

     Dim comm As New SqlCommand("SELECT MAX(Code) FROM InvoiceTB", con) 
     comm.ExecuteNonQuery() 

     ID = Convert.ToInt32(comm.ExecuteScalar()) 


     For Each item As GridViewRow In gvrview.Rows 

      'Modified according your table Definition 
      Dim statment As String = String.Format("insert into InvoiceItem (ProductName,Price, Quantity, Total,CodeInvoice) values ('{0}',{1},{2},{3},{4})", item.Cells(1).Text, item.Cells(2).Text, item.Cells(3).Text, ID.ToString()) 
      Dim cmd As New SqlCommand(statment, con) 

      cmd.CommandType = CommandType.Text 
      cmd.ExecuteNonQuery() 
      con.Close() 

      cmd.Dispose() 
     Next 




    End If 
    con.Close() 


End Sub 

это дало мне эту ошибку .... Индекс (основанный на нуле) должен быть больше или равен нулю и меньше, чем размер списка аргументов.Как вставить несколько строк из gridview в базу данных

ответ

0

Я предполагаю, что вы начинаете с индекса ячейки 1, который на самом деле является вторым столбцом вашего gridview.

Column2 = item.Cells(1).Text 
Column3 = item.Cells(2).Text 
Column4 = item.Cells(3).Text 

Если вы не имеете column4 и вы пытаетесь вернуться item.Cells (3) .Text вы собираетесь получить исключение.

Если мои предположения верны, и у вас есть только 3 столбца в вашем gridview, тогда замените строку на это, и все будет установлено.

Dim statment As String = String.Format("insert into InvoiceItem (ProductName,Price, Quantity, Total,CodeInvoice) values ('{0}',{1},{2},{3},{4})", item.Cells(0).Text, item.Cells(1).Text, item.Cells(2).Text, ID.ToString()) 
Смежные вопросы