我是数据库应用程序开发的新手,虽然我在VB.NET和C ++方面有相当多的经验(自学成才,有些中级)。我在一个表适配器中有一个查询,它有两个参数(用户输入),它们总是从表中返回一行,基于这两个参数。让我们说第X行有A,B和C列。在我的查询中,过滤器在A和B上设置,但它会选择所有字段。 现在,我想在我的一个主要Form对象中显示C的值(让我们在这个例子中说一个Label),但我似乎无法提取它。我知道这可能很容易,但我在DB代码丛林中有点迷失..
[编辑]
道歉,代码位(示例)。
查询:
SELECT Column1,Column2,Column3
从表1中
WHERE(Column1 = @ Parameter1)AND(Column2 = @ Parameter2)
在我的VB项目中:
昏暗的温度
temp = Me.Table1TableAdapter.queryName(Me.MyProjectDBDataSet.Table1,userinput1,userinput2)
到目前为止,一切都很完美,但这也是我被卡住的地方。我怎么说,比如说,将Column3的值(在运行查询后,结果将始终只是Table1中的一行)分配给Label.Text?
我希望这会让它更清晰......
答案 0 :(得分:0)
Dim db As Database = DatabaseFactory.CreateDatabase
Dim cmd As DbCommand = db.GetSqlStringCommand(query) 'Query is a string containing your SQL command'
Dim sqlDataReader As IDataReader = db.ExecuteReader(cmd)
Dim myObj As New MyObject
If sqlDataReader IsNot Nothing Then
'Loop through the rows of the DataReader'
Do While sqlDataReader.Read()
'Do something here with the value in Column3'
myObj.myIntegerProperty= CInt(IIf(IsDBNull(.Item("Column3")), 0, .Item("Column3")))
Loop
End If