我正在尝试从SQL表中填充Web。
这就是我现在所拥有的,虽然我不确定这是否是最好的做事方式,请给我一些建议:
Public Class userDetails
Public address1 As String
Public address2 As String
Public city As String
...
...
...
End Class
Public Class clsPerson
'set SQL connection
Dim objFormat As New clsFormat
Dim objConn As New clsConn()
Dim connStr As String = objConn.getConn()
Dim myConnection As New Data.SqlClient.SqlConnection(connStr)
Public Function GetPersonDetails() As userDetails
'connection and all other good stuff here
Try
' Execute the command
myConnection.Open()
dr = myCommand.ExecuteReader()
' Make sure a record was returned
If dr.Read() Then
' Create and Populate ApplicantDetails
userDetails.address1 = dr("address1")
userDetails.address2 = objFormat.CheckNull(dr("address2"))
userDetails.city = objFormat.CheckNull(dr("city"))
....
Else
Err.Raise(4938, "clsUser", "Error in GetUserDetails - User Not Found")
End If
dr.Close()
Finally
myConnection.Close()
End Try
Return userDetails
End Function
然后我在后端使用GetPersonDetails()函数来填充表单。
像这样:
Dim userDetails as new userDetails
userdetails = getPersonDetails()
txtAddress.text = userdetails.address1
etc....
然而,在用户数据库中有50个字段,似乎有很多重新输入...请帮助我找到更好的方法来做到这一点。
谢谢!
答案 0 :(得分:1)
Reflect属性名称
从属性名称中推断出controlname,例如“txt”& fieldName的
您也可以动态生成字段,但是您无法控制演示文稿。这是我不会使用的解决方案 - 但它会使代码变得脆弱且难以调试。
答案 1 :(得分:0)
数据绑定是用于帮助在表单和数据库之间移动数据的东西。基本上,您将表单字段映射到数据库字段,并可以控制它是在一个方向(只读)还是两个方向(读/写)刷新。您可能仍会有一个映射每个字段的语句,但它有时会使事情变得更容易。如果你尝试做的不仅仅是基础知识,那么它就会变得更加复杂,但它几乎总是可以调整,因为它非常模块化,允许你修改行为或实现你自己的类/接口来构建更复杂场景的解决方案。
请注意底部有一个“继续阅读”链接: http://www.startvbdotnet.com/ado/simplebinding.aspx