在VB.NET中将连接字符串中的“数据源”声明为“变量”

时间:2013-05-31 20:24:26

标签: vb.net variables connection runtime datasource

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
    Dim bs As New BindingSource

    m_DataAdapter = New OleDbDataAdapter("SELECT * FROM Table1 ORDER BY ID", "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Users\rebel23\Desktop\sampledata.mdb")

    m_DataAdapter.Fill(m_DataSet)

    bs.DataSource = m_DataSet.Tables(0)
    BindingNavigator1.BindingSource = bs
    txtAnimal.DataBindings.Add("Text", bs, "TextBox6.text")
    txtSpecies.DataBindings.Add("Text", bs, "TextBox7.text")

在上面的代码中,我想更改“数据源”并将其声明为TextBox1.text 这样用户就可以在运行时决定数据源...... 我也希望“Table1”和“ID”相同 但是怎么做?

2 个答案:

答案 0 :(得分:1)

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
    Dim bs As New BindingSource
    Dim myTableName As String
    Dim myOrderingColumn As String
    Dim mybind1 As String
    Dim mybind2 As String

    myTableName = TextBox3.Text
    myOrderingColumn = TextBox4.Text
    mybind1 = TextBox6.Text
    mybind2 = TextBox7.Text

    m_DataAdapter = New OleDbDataAdapter("SELECT * FROM " & myTableName & " ORDER BY " & myOrderingColumn, "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & TextBox5.Text)

    m_DataAdapter.Fill(m_DataSet)

    bs.DataSource = m_DataSet.Tables(0)
    BindingNavigator1.BindingSource = bs
    txtAnimal.DataBindings.Add("Text", bs, "" & TextBox6.Text & "")
    txtSpecies.DataBindings.Add("Text", bs, "" & TextBox7.Text & "")


End Sub
嘿,我得到了代码男人!!!!它的工作....非常感谢你的支持和建议@matzone

答案 1 :(得分:0)

我以不同的方式做到了..

Dim myConn = New OleDb.OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = C:\Users\rebel23\Desktop\sampledata.mdb;Jet OLEDB:Database Password=mypass")

Dim cmd As OleDbCommand 
Dim ds as DataSet = New DataSet

myConn.Open() '--> open conn
cmd = New OleDbCommand("SELECT * FROM Table1 ORDER BY ID", myConn)

cmd.Fill(ds, "predator") ' ---> named dataset as Predator

txtAnimal.DataBindings.Add("Text", ds.Tables("predator"), "'" & TextBox6.text & "'")
txtSpecies.DataBindings.Add("Text",ds.Tables("predator"), "'" & TextBox7.text & "'")

' ....
' .....

cmd.Dispose()
ds.Dispose()
cnn.Close()