0

我只是想知道我是否可以在 VB 2008 中创建一个标准类

我正在尝试创建一个接受 sql 作为参数的函数 GetRow(txtSQL)。我希望这个函数返回一个包含数据库表列作为属性的对象,这样我就可以用作

 myObj=GetRow("select name, address from tbl_contacts where id=1")
 txtname.text=myObj.name
4

1 回答 1

1

据我所知,您不能在设计时使用在运行时生成的属性。由于 SQL 只是一个字符串,编译器不知道 .Name 必须是一个属性。

我能给你的最好的如下:

 Function GetRow(cnn As SqlConnection, sql As String) As DataRow
    Using dtb As New DataTable
      Using dad As New SqlDataAdapter(sql, cnn)
        dad.Fill(dtb)
      End Using
      If dtb.Rows.Count >= 1 Then
        Return dtb.Rows(0)
      Else
        Return Nothing
      End If
    End Using
  End Function

  Sub test()
    Using cnn As New SqlConnection("Data Source=mycomputername;Timeout=10;User ID=myusername;Password=mypassword;")
      cnn.Open()
      Dim strSql As String = "select name, address from tbl_contacts where id=1"
      Dim drw As DataRow = GetRow(cnn, strSql)
      txtName.text = CStr(drw("name"))
      cnn.Close
    End Using
  End Sub
于 2012-07-24T07:07:31.083 回答