我只是想知道我是否可以在 VB 2008 中创建一个标准类
我正在尝试创建一个接受 sql 作为参数的函数 GetRow(txtSQL)。我希望这个函数返回一个包含数据库表列作为属性的对象,这样我就可以用作
myObj=GetRow("select name, address from tbl_contacts where id=1")
txtname.text=myObj.name
我只是想知道我是否可以在 VB 2008 中创建一个标准类
我正在尝试创建一个接受 sql 作为参数的函数 GetRow(txtSQL)。我希望这个函数返回一个包含数据库表列作为属性的对象,这样我就可以用作
myObj=GetRow("select name, address from tbl_contacts where id=1")
txtname.text=myObj.name
据我所知,您不能在设计时使用在运行时生成的属性。由于 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