DataGridView写入SQL,哪句错了?

appleller 2008-10-08 10:56:33
以下代码哪里错误?
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x As Integer
For x = 0 To DataGridView1.RowCount - 1
Dim comm As New SqlCommand
Dim value1 As String = ""
Dim value2 As String = ""
Dim value3 As String = ""
Dim value4 As String = ""
value1 = Trim(DataGridView1.Rows(x).Cells(0).Value.ToString)
'未将对象引用设置到对象的实例。
value2 = Trim(DataGridView1.Rows(x).Cells(1).Value.ToString)
value3 = Trim(DataGridView1.Rows(x).Cells(2).Value.ToString)
value4 = Trim(DataGridView1.Rows(x).Cells(3).Value.ToString)

comm.Connection = sqlconnection1
'sqlconnection1已定义
comm.CommandType = CommandType.Text
Dim sqlstr As String = ""
sqlstr = "insert into so_sodetails (cinvname,iquantity,iunitprice,imoney) values('" & value1 & "','" & value2 & "','" & value3 & "','" & value4 & "')"
comm.CommandText = sqlstr
Try
comm.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show("失败!")

End Try
....

...全文
107 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
appleller 2008-10-12
  • 打赏
  • 举报
回复
谢谢!问题解决.
wangyanboq 2008-10-09
  • 打赏
  • 举报
回复
没太明白你的问题。

如果是在下面这里出错

value1 = Trim(DataGridView1.Rows(x).Cells(0).Value.ToString)
'未将对象引用设置到对象的实例。
value2 = Trim(DataGridView1.Rows(x).Cells(1).Value.ToString)


是因为引用了一个空对象。

例如DataGridView1.Rows(x).Cells(0) 是Nothing (也可能是DataGridView1.Rows(x),多半是DataGridView1.Rows(x).Cells(0) )
那么它就没有.Value属性了

需要加一个判断
if (DataGridView1.Rows(x).Cells(0) <> Nothing) Then

value1 = Trim(DataGridView1.Rows(x).Cells(0).Value.ToString)
end if
appleller 2008-10-09
  • 打赏
  • 举报
回复
???????
appleller 2008-10-09
  • 打赏
  • 举报
回复
急,求助!
破咖啡罐子 2008-10-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wangyanboq 的回复:]
没太明白你的问题。

如果是在下面这里出错

value1 = Trim(DataGridView1.Rows(x).Cells(0).Value.ToString)
'未将对象引用设置到对象的实例。
value2 = Trim(DataGridView1.Rows(x).Cells(1).Value.ToString)


是因为引用了一个空对象。

例如DataGridView1.Rows(x).Cells(0) 是Nothing (也可能是DataGridView1.Rows(x),多半是DataGridView1.Rows(x).Cells(0) )
那么它就没…
[/Quote]

同意这个说法,你先断点看看DataGridView1.Rows(x).Cells(0).Value是否存在
appleller 2008-10-08
  • 打赏
  • 举报
回复
好象不是这个错误,已经打开连接 sqlconnection1.Open(), 再try后面加入sqlconnection1.Open()也是同样错误啊!!
IMAGSE 2008-10-08
  • 打赏
  • 举报
回复
没有将connection打开啊~

加上这句:sqlconnection.open();

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧