windows窗体应用,vb.net,程序调不通,求助大佬。

范鬼剑 2020-05-11 10:31:14
Imports System.Data
Imports System.Data.SqlClient

Public Class guanliyuanxinxiweihu
Private connstr As String = "Data Source=DESKTOP-7740I75;Initial Catalog=SPGL;Integrated Security=True"
Private conn As New SqlConnection(connstr)
Dim num As Integer = 0
Private Sub guanliyuanxinxiweihu_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: 这行代码将数据加载到表“SPGLDataSet4.GLY”中。您可以根据需要移动或删除它。
Me.GLYTableAdapter2.Fill(Me.SPGLDataSet4.GLY)
'TODO: 这行代码将数据加载到表“SPGLDataSet2.GLY”中。您可以根据需要移动或删除它。
Me.GLYTableAdapter.Fill(Me.SPGLDataSet2.GLY)

End Sub

Private Sub DataGridView1_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs)
TextBox1.Text = DataGridView1.Rows(e.RowIndex).Cells(1).Value.ToString
TextBox2.Text = DataGridView1.Rows(e.RowIndex).Cells(2).Value.ToString
TextBox3.Text = DataGridView1.Rows(e.RowIndex).Cells(3).Value.ToString
TextBox4.Text = DataGridView1.Rows(e.RowIndex).Cells(4).Value.ToString
TextBox5.Text = DataGridView1.Rows(e.RowIndex).Cells(5).Value.ToString
num = e.RowIndex
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim sqlstring As String
Dim num1 As Integer = 0
sqlstring = " "
sqlstring &= " declare cc2 cursor "
sqlstring &= " for select * from GLY "
sqlstring &= " open cc2 "

While num1 < num
sqlstring &= " fetch next from cc2 "
num1 += 1
End While

sqlstring &= " update GLY "
sqlstring = sqlstring & " set ID='" & TextBox1.Text & "',GNAME='" & TextBox2.Text & "',GADDRESS='" & TextBox3.Text & "',
GTEL='" & TextBox4.Text & "',GZCRI='" & TextBox5.Text & "'"
sqlstring &= " where current of cc2 "

Dim sqlcmd As New SqlCommand(sqlstring, conn)
conn.Open()
sqlcmd.ExecuteNonQuery()
conn.Close()
Call guanliyuanxinxiweihu_Load(Nothing, Nothing)
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim cellvalue As Object = False
Dim a(100) As Boolean
Dim i, j As Integer
Dim num As Integer
For i = 0 To 100
a(i) = False

Next
num = Me.DataGridView1.RowCount
For j = 0 To num - 2
cellvalue = DataGridView1.Rows(j).Cells(0).Value
If cellvalue = True Then
a(j) = True
cellvalue = False
End If

Next
Dim sqlstring As String
Dim num2 As Integer = 0
sqlstring = " "
sqlstring = sqlstring & " declare cc3 cursor "
sqlstring = sqlstring & " for select * from GLY "
sqlstring = sqlstring & " open cc3 "

While num2 < num - 1
sqlstring = sqlstring & " fetch next from cc3 "
If a(num2) = True Then
sqlstring = sqlstring & " delete from GLY "
sqlstring = sqlstring & " where current of cc3 "

End If
num2 = num2 + 1
End While

Dim sqlcmd As New SqlCommand(sqlstring, conn)
conn.Open()
sqlcmd.ExecuteNonQuery()
conn.Close()

Call guanliyuanxinxiweihu_Load(Nothing, Nothing)
End Sub

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Me.Close()
guanliyuanmain.Show()
End Sub
End Class
运行显示System.Data.SqlClient.SqlException:“当前提取缓冲区内没有行。
语句已终止。”
最终是想实现将datagridview双击事件后,将数据显示再textboxs里。
...全文
116 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
另外注意去掉空格。
  • 打赏
  • 举报
回复
获取控件字符的前后加通配符试看。
范鬼剑 2020-05-11
  • 打赏
  • 举报
回复
可以删除,也有显示,双击事件也可以出现再textbox中,就是无法更新数据。一直显示System.Data.SqlClient.SqlException:“当前提取缓冲区内没有行。 语句已终止。”
  • 打赏
  • 举报
回复
按提示就是没读取到数据到表,断点查看数据表是否有数据?

16,721

社区成员

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

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