Vb.net如何将不同的数据库链接到不同的图表

时间:2016-07-14 11:52:36

标签: database vb.net charts

我需要将系列1(Graph1)与1RosterMonday和系列2(图2)链接到2RosterTuesday。

以下代码适用于连接系列1到1RosterMonday,但我不知道如何将2系列(图2)链接到2RosterTuesday。

这是我目前的代码:

    '====Connection String to connect to access database
    Dim strConn As String = _
    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & TextBox1.Text & _
    ";Persist Security Info=False;"

    '====Query String
    Dim tblFields As String = "SELECT * from 1RosterMonday "

    '====Connecting to Data base and storing the data in a dataset
    Dim conn As New OleDbConnection(strConn)
    Dim oCmd As New OleDbCommand(tblFields, conn)
    Dim oData As New OleDbDataAdapter(tblFields, conn)
    Dim ds As New DataSet


    conn.Open()
    oData.Fill(ds, "1RosterMonday")
    conn.Close()


    '====Set Data source
    Chart1.DataSource = ds.Tables("1RosterMonday")
    Dim Series1 As Series = Chart1.Series("Series1")
    Chart1.Series(Series1.Name).YValuesPerPoint = 2
    Chart1.Series(Series1.Name).XValueMember = "Name"
    Chart1.Series(Series1.Name).YValueMembers = "Start Time , End Time"

End Sub

1 个答案:

答案 0 :(得分:0)

假设您在同一个数据库中有周二信息,为什么不用新查询重复第二个图表的相同过程?

但是如果你还有一周中有更多日子来构建图表,你应该尝试将其变成一个函数:

Sub linkDataToChart(strConnection as String, strRoster as String, chtDest as Chart)

    'Build Connection String
     Dim strConn As String = _
     "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strConnection & _
     ";Persist Security Info=False;"

     'Build Query String
     Dim tblFields As String = "SELECT * from " & strRoster

     'Retrieve Data from Database
     Dim conn As New OleDbConnection(strConn)
     Dim oCmd As New OleDbCommand(tblFields, conn)
     Dim oData As New OleDbDataAdapter(tblFields, conn)
     Dim ds As New DataSet

     conn.Open()
     oData.Fill(ds, strRoster)
     conn.Close()

     'Set Data source
     chtDest.DataSource = ds.Tables(strRoster)
     Dim Series1 As Series = chtDest.Series("Series1")
     chtDest.Series(Series1.Name).YValuesPerPoint = 2
     chtDest.Series(Series1.Name).XValueMember = "Name"
     chtDest.Series(Series1.Name).YValueMembers = "Start Time , End Time"

End Sub

然后你可以在这两天调用这个函数:

linkDataToChart(Textbox1.Text, "1RosterMondays", Chart1)
linkDataToChart(Textbox1.Text, "2RosterTuesdays", Chart2)