linq 如何在VB.NET中用MS-ACCESS数据库从Dapper ExecuteReader()中检索数据到文本框中

jtw3ybtb  于 2023-09-28  发布在  .NET
关注(0)|答案(1)|浏览(143)

我想检索TextBox1中的Form2中的数据,它是Invono,TextBox2是Created。实际上,我已经创建了一个函数方法,它是GetItemTransfersMaster,但我不知道如何在文本框中显示。请引导。
谢谢
表格1中的代码

  1. Public Class Form1
  2. Dim itrservice As New ItemtransfersService()
  3. Private Invno As String
  4. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  5. DataGridView1.DataSource = itrservice.GetLoadItemTransfersMaster()
  6. DataGridView1.ReadOnly = True
  7. End Sub
  8. Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
  9. If e.ColumnIndex = 0 Then
  10. If DataGridView1.SelectedRows.Count > 0 Then ' make sure user select at least 1 row
  11. Dim Invno As String = DataGridView1.SelectedRows(0).Cells(0).Value & String.Empty
  12. Using frm = New Form2(Invno)
  13. If frm.ShowDialog() = DialogResult.OK Then
  14. End If
  15. End Using
  16. End If
  17. End If
  18. End Sub
  19. End Class
  20. Public Class ItemtransfersService
  21. Public Function GetOledbConnectionString() As String
  22. Return "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\dapperdemo.accdb;Persist Security Info=False;"
  23. End Function
  24. Private ReadOnly _conn As OleDbConnection
  25. Private _connectionString As String = GetOledbConnectionString()
  26. Public Sub New()
  27. _conn = New OleDbConnection(_connectionString)
  28. End Sub
  29. Public Function GetLoadItemTransfersMaster() As IEnumerable(Of ItemTransfers)
  30. Dim sql = "SELECT * FROM ItemTransfers"
  31. Using _conn = New OleDbConnection(GetOledbConnectionString())
  32. Return _conn.Query(Of ItemTransfers)(sql).ToList()
  33. End Using
  34. End Function
  35. Public Function GetItemTransfersDetail(ByVal Invno As String) As IEnumerable(Of ItemTransfersDetail)
  36. Dim sql = $"SELECT * FROM ItemTransfersDetail WHERE Invno = '{Invno}'"
  37. Using _conn = New OleDbConnection(GetOledbConnectionString())
  38. Return _conn.Query(Of ItemTransfersDetail)(sql).ToList()
  39. End Using
  40. End Function
  41. Public Function GetItemTransfersMaster(ByVal Invno As String) As IEnumerable(Of ItemTransfers)
  42. Dim sql = $"SELECT * FROM ItemTransfers WHERE Invno = '{Invno}'"
  43. Using _conn = New OleDbConnection(GetOledbConnectionString())
  44. Return _conn.Query(Of ItemTransfers)(sql).ToList()
  45. End Using
  46. End Function
  47. End Class
  48. Public Class ItemTransfers
  49. Public Property Invno() As String
  50. Public Property HeaderInvno() As Integer
  51. Public Property CreatedBy() As String
  52. Public Property Created() As DateTime
  53. Public Property ModifiedBy() As String
  54. Public Property Modified() As DateTime
  55. Public Property ItemTransfersDetail() As New List(Of ItemTransfersDetail)()
  56. End Class
  57. Public Class ItemTransfersDetail
  58. Public Property Id() As Integer
  59. Public Property No() As Integer
  60. Public Property Invno() As String
  61. Public Property CodeProduct() As String
  62. Public Property Barcode() As String
  63. Public Property Colorcode() As String
  64. Public Property Size() As String
  65. Public Property Qty() As Integer
  66. End Class

Form2中的代码

  1. Public Class Form2
  2. Inherits Form
  3. Dim itrservice As New ItemtransfersService()
  4. Sub New()
  5. InitializeComponent()
  6. End Sub
  7. Public Sub New(Invno As String)
  8. Me.New
  9. DataGridView1.DataSource = itrservice.GetItemTransfersDetail(Invno)
  10. DataGridView1.Columns(0).Visible = False
  11. End Sub
  12. End Class

查看表单1

查看表单2

hmtdttj4

hmtdttj41#

非常感谢@dr.null的指导
表格中的代码1

  1. Public Class Form1
  2. Dim itrservice As New ItemtransfersService()
  3. Private Invno As String
  4. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  5. DataGridView1.DataSource = itrservice.GetLoadItemTransfersMaster()
  6. DataGridView1.ReadOnly = True
  7. End Sub
  8. Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
  9. If e.ColumnIndex = 0 Then
  10. If DataGridView1.SelectedRows.Count > 0 Then ' make sure user select at least 1 row
  11. Dim Invno As String = DataGridView1.SelectedRows(0).Cells(0).Value.tostring & String.Empty
  12. Dim item = DirectCast(DataGridView1.SelectedRows(0).DataBoundItem, ItemTransfers)
  13. Using frm = New Form2(item)
  14. If frm.ShowDialog() = DialogResult.OK Then
  15. End If
  16. End Using
  17. End If
  18. End If
  19. End Sub
  20. End Class
  21. Public Class ItemtransfersService
  22. Public Function GetOledbConnectionString() As String
  23. Return "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\dapperdemo.accdb;Persist Security Info=False;"
  24. End Function
  25. Private ReadOnly _conn As OleDbConnection
  26. Private _connectionString As String = GetOledbConnectionString()
  27. Public Sub New()
  28. _conn = New OleDbConnection(_connectionString)
  29. End Sub
  30. Public Function GetLoadItemTransfersMaster() As IEnumerable(Of ItemTransfers)
  31. Dim sql = "SELECT * FROM ItemTransfers"
  32. Using _conn = New OleDbConnection(GetOledbConnectionString())
  33. Return _conn.Query(Of ItemTransfers)(sql).ToList()
  34. End Using
  35. End Function
  36. Public Function GetItemTransfersDetail(ByVal Invno As String) As IEnumerable(Of ItemTransfersDetail)
  37. Dim sql = $"SELECT * FROM ItemTransfersDetail WHERE Invno = '{Invno}'"
  38. Using _conn = New OleDbConnection(GetOledbConnectionString())
  39. Return _conn.Query(Of ItemTransfersDetail)(sql).ToList()
  40. End Using
  41. End Function
  42. Public Function GetItemTransfersMaster(ByVal Invno As String) As IEnumerable(Of ItemTransfers)
  43. Dim sql = $"SELECT * FROM ItemTransfers WHERE Invno = '{Invno}'"
  44. Using _conn = New OleDbConnection(GetOledbConnectionString())
  45. Return _conn.Query(Of ItemTransfers)(sql).ToList()
  46. End Using
  47. End Function
  48. End Class
  49. Public Class ItemTransfers
  50. Public Property Invno() As String
  51. Public Property HeaderInvno() As Integer
  52. Public Property CreatedBy() As String
  53. Public Property Created() As DateTime
  54. Public Property ModifiedBy() As String
  55. Public Property Modified() As DateTime
  56. Public Property ItemTransfersDetail() As New List(Of ItemTransfersDetail)()
  57. End Class
  58. Public Class ItemTransfersDetail
  59. Public Property Id() As Integer
  60. Public Property No() As Integer
  61. Public Property Invno() As String
  62. Public Property CodeProduct() As String
  63. Public Property Barcode() As String
  64. Public Property Colorcode() As String
  65. Public Property Size() As String
  66. Public Property Qty() As Integer
  67. End Class

表单中的代码2

  1. Public Class Form2
  2. Inherits Form
  3. Dim itrservice As New ItemtransfersService()
  4. Sub New()
  5. InitializeComponent()
  6. End Sub
  7. Public Sub New(item As ItemTransfers)
  8. Me.New
  9. DataGridView1.DataSource = itrservice.GetItemTransfersDetail(Invno)
  10. DataGridView1.Columns(0).Visible = False
  11. TextBox1.Text = item.Invno
  12. TextBox2.Text = item.Created
  13. End Sub
  14. End Class
展开查看全部

相关问题