注册 登录
编程论坛 VB.NET论坛

球高人帮我看看这错在哪了。

lin7516 发布于 2014-03-12 10:07, 679 次点击
Imports System.Data.SqlClient
Imports System.Data
Public Class Form1
    Dim cn As SqlConnection
    Dim da As SqlDataAdapter
    Dim ds As DataSet
    Dim dt As DataTable
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            cn = New SqlConnection()
            cn.ConnectionString = "Data Source=XP-201311231519;Initial Catalog=小型数据库;Integrated Security=False;User ID=sa;Password=123456;"
            cn.Open()
            da = New SqlDataAdapter("select * from 加工量", cn)
            ds = New DataSet
            da.Fill(ds, "mytb1")
            Dim dr As DataRow
            dr = ds.Tables("mytb1").NewRow
            For i = 0 To DataGridView1.Rows.Count - 1
                dr("产品编码") = DataGridView1.Rows(i).Cells(1).Value
                dr("产品名称") = DataGridView1.Rows(i).Cells(2).Value
                dr("批次") = DataGridView1.Rows(i).Cells(3).Value
                ds.Tables("mytb1").Rows.Add(dr)
                Dim scb As New SqlCommandBuilder(da)
                da.Update(ds, "mytb1")
                DataGridView1.DataSource = ds.Tables("mytb1")
            Next
            cn.Close()
        Catch ex As Exception
        End Try
    End Sub
End Class
要不帮我看一下这个,为什么会有问题?就是dr("产品编码") = DataGridView1.Rows(i).Cells(1).Value
这句话,Rows(i)这个i用数字代替就可以用不出错,用变量就不行。求高人指点迷津。(代码是从书上抄的,源代码DataGridView1.Rows(i).Cells(1).Value这里是文本框)。
想要用DataGridView1批量更新数据库。
3 回复
#2
jianjunfeng2014-05-07 10:59
For i As Integer = 0 To DataGridView1.Rows.Count - 1
#3
油盐酱醋2014-05-16 22:49
哎,看到ado就有种很烦的感觉。太长不看。
#4
Issac_abc2014-07-03 15:48
感觉你 这是Delphi 你应该去delphi 区 问

我感觉是这里有问题 da.Fill(ds, "mytb1"), mytb1 这做什么用的 我在上面么有看到有这个mytb1哦?
要不就你的链接字符串有问题,这里可以用Initial Catalog=小型数据库  汉字吗?我不知道delphi 里可以不可以用汉字你该为 英文 试下
1