Vb.net 双击datagrid并粘贴到数据库记录
我想双击datagrid中的一行并将该数据传输到我的数据库,然后数据库会根据刚才传输的数据打开一个报告Vb.net 双击datagrid并粘贴到数据库记录,vb.net,datagridview,reportviewer,Vb.net,Datagridview,Reportviewer,我想双击datagrid中的一行并将该数据传输到我的数据库,然后数据库会根据刚才传输的数据打开一个报告 If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 Then Dim selectedRow = DataGridView1.Rows(e.RowIndex) End If 'Dim PtwNoData As String = String.Empty
If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 Then
Dim selectedRow = DataGridView1.Rows(e.RowIndex)
End If
'Dim PtwNoData As String = String.Empty
Dim connection As SqlConnection
Dim Command As SqlCommand
Dim dt As New DataTable
Dim IdLast As Integer
Dim PTWNo As String
Dim Reader As SqlDataReader
connection = New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\IzzyM\Desktop\Developer\BIG\Permit Plus\Permit Plus\Database1.mdf;Integrated Security=True")
Dim GuiD As String
'GuiD = Me.DataGridView1.SelectedRows("GUID").Selected.
Try
connection.Open()
Dim Query As String
Query = "insert into PTWData * values ('" & Me.DataGridView1.SelectedRows(). & "')"
Command = New SqlCommand(Query, connection)
Reader = Command.ExecuteReader
connection.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
connection.Dispose()
End Try
'Form4.Dispose()
Dim f As New Form4()
f.TopMost = True
f.Show()
'Form4.Show()
End Sub```
您希望在那里添加字符串值,但选定的行是一个复杂的对象。它包含结果行和其中的每一列(以及许多属性)
见下面,“CulnNAMEIDK”只有一个,你可能有很多要考虑。这个查询最终将是大量的插入。(为了安全起见,我们可能希望将其转换为以后的参数化查询)
您希望在那里添加字符串值,但选定的行是一个复杂的对象。它包含结果行和其中的每一列(以及许多属性)
见下面,“CulnNAMEIDK”只有一个,你可能有很多要考虑。这个查询最终将是大量的插入。(为了安全起见,我们可能希望将其转换为以后的参数化查询)
您好,谢谢您的帮助,但是,thi抛出了以下错误:“无法将类型为'system.windows.forms.datagridviewrow'的对象强制转换为类型为'system.data.datarow'。啊,我以前有过这种情况,因为它们是两个不同的对象,所以必须进行转换才能将其视为典型的Datatable datarow。”。我已经更新了我的答案。谢谢,这让我今晚不会从桥上摔下来!非常感谢,非常感谢。但是,我提出了以下错误:“无法将类型为'system.windows.forms.datagridviewrow'的对象强制转换为类型为'system.data.datarow'。啊,我以前有过这种情况,因为它们是两个不同的对象,所以必须进行转换才能将其视为典型的Datatable datarow。”。我已经更新了我的答案。谢谢,这让我今晚不会从桥上摔下来!非常感谢
Dim Query As String
Dim rows As DataGridViewSelectedRowCollection = MyDataGridView.SelectedRows
for each row in Me.DataGridView1.SelectedRows()
Dim myRow As DataRow = (TryCast(row.DataBoundItem, DataRowView)).Row
query &= "insert into PTWData * values ('" & myRow("ColumnNameIDK")& "');"
'this query appended on each pass
next
Command = New SqlCommand(Query, connection)
Reader = Command.ExecuteReader