2012-07-24 56 views
0

標準類我只是想知道我是否能在2008年VB我們如何創建於2008年VB

我試圖創建一個函數GETROW(txtSQL),它接受SQL作爲參數創建一個標準類。我希望這個函數返回包含數據庫表中的列作爲屬性的對象,以便我知道你不能有在在設計時運行時生成的屬性我能爲

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

你嘗試過什麼,我相信你已經顯示的是你想要的功能的簽名。 – 2012-07-24 04:41:49

回答

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 
+0

我非常高興也很難過,因爲我一直在使用這種方法來記錄時間來填充datagridview。 – Prajwal 2012-07-29 07:35:14