我在stackoverflow上关于如何将数据库记录读入变量的示例。这是第一次这样做,我觉得我很接近,但我对这个问题感到困惑。
以下是我所指的链接: Visual Basic 2010 DataSet
我的代码如下所示。
Public Class Form1
' DataSet/DataTable variables
Dim testdataDataSet As New DataSet
Dim dttestdataDataTable As New DataTable
Dim datestdataDataAdapter As New Odbc.OdbcDataAdapter
' Variables for retrieved data
' Dim sSpeed As String = ""
' Dim sFuelprice As String = ""
Dim sSpeed As Integer
Dim sFuelprice As Integer
'Connect to the database
''
'Fill DataSet and assign to DataTable
datestdataDataAdapter.Fill(TestdataDataSet , "TestdataDataSet")
dttestdataDataTable = TestdataDataSet.Tables(0)
'Extract data from DataTable
' Rows is the row of the datatable, item is the column
sSpeed = dtTestdataDataTable.Rows(0).Item(0).ToString
sFuelprice = dtTestdataDataTable.Rows(0).Item(1).ToString
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
result.Text = Val(miles.Text) * sSpeed * sFuelprice
End Sub
End Class
基本上,我收到声明错误,我不明白为什么因为我遵循的例子清楚地声明了它们。我正在连接到名为“testdata.mdb”的Access数据库,该数据库只包含一条记录,其中包含两个我希望在整个程序中使用的字段。 exanple表示将每个字段的变量调暗为字符串,但这会产生更多的暗淡错误,因此我将它们变成整数并在此期间注释掉原始的暗淡语句(因为它们将用于计算。)数据适应器和数据表变量也会被标记为在程序中较早时未被声明。我知道这一定是一件很简单的事情,但我只是没有看到它。
表单只是一个简单的事情,用户键入一个数字,并使用从数据库中读入的数字生成结果。简而言之,我希望能够在程序中对数据库进行简单的计算,并且暗淡的声明正在阻碍。
如果有人可以澄清我应该做些什么,那将非常感激。谢谢!
答案 0 :(得分:0)
当你尝试学习新技术时,通常最好从外部工作。在你的情况下,“最外面”的对象似乎是一个OdbcConnection对象。
Public Class Form1
Const connectionString as String = "Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\Northwind.mdb"
Dim connection As New OdbcConnection(connectionString)
connection.Open()
connection.Close()
end Class
首先解决该级别的错误。然后为数据适配器添加数据适配器的声明 - 仅 - 并使用 解决任何错误。重复,直到你完成课程。
请参阅OdbcConnectionString,如果需要,请参阅connection string web site。
答案 1 :(得分:0)
我为延迟写下关闭这个问题的答案而道歉并总结一下。
就我而言,它的数据集是一个名为testdata的单行数据库,包含20个字段。
有效的解决方案如下:
在form1_load事件之后,可以在dataadapter行之后立即写入变量:
Me.TestdataTableAdapter.Fill(Me.fooDataSet.testdata)
speed = Me.fooDataSet.testdata(0).speed
fuelprice = Me.fooDataSet.testdata(0).fuelprice
mpg = Me.fooDataSet.testdata(0).mpg
然后在表单代码顶部的PUBLIC CLASS语句之后,将变量DIM变为你想要的变量(在这种情况下,speed是一个整数,fuelprice是小数,MPG是小数)。 / p>
然后,您可以在单击按钮后操作计算中的变量:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
fuelcost = CDec((miles.Text/ mpg) * fuelprice)
txtfuelcost.Text = fuelcost.ToString
End Sub
谢谢大家的回复!