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里。