2012-06-01 180 views
1

通過ADO,我喜歡做下面的查詢:需要從SQL查詢值

select name, address, zip from terr where id = '33334' 

我喜歡,然後指定名稱,addess,拉鍊變量,這樣我可以在我的節目後給它分配。 如何使用VB.NET ADO做到這一點?

回答

4

嘗試somethign這樣的:

Dim dbName As String 
    Dim dbAddress As String 
    Dim dbZip As String 
    Using connObj As New SqlClient.SqlConnection("<connectionString>") 
    Using cmdObj As New SqlClient.SqlCommand("select name, address, zip from terr where id = '33334'", connObj) 
     connObj.Open() 
     Using readerObj As SqlClient.SqlDataReader = cmdObj.ExecuteReader 
      'This will loop through all returned records 
      While readerObj.Read 
       dbName = readerObj("name").ToString 
       dbAddress = readerObj("address").ToString 
       dbZip = readerObj("zip").ToString 
       'handle returned value before next loop here 
      End While 
     End Using 
     connObj.Close() 
    End Using 
    End Using 

此外,你應該看看參數化值的where子句。

2

你需要一個DataBase(我假設MS Sql-Server),一個Connection和一個DataAdapter來填充一個DataTable。那麼你有你需要的一切。這裏有一個例子:

Public Function GetUser(UserId As Int32) As DataRow 
    Using con = New SqlConnection(My.Settings.RM2ConnectionString) 
     Using cmd = New SqlCommand("select name, address, zip from terr where id = @id", con) 
      cmd.Parameters.AddWithValue("@id", UserId) 
      Dim da = New SqlDataAdapter(cmd) 
      Dim tblUser = New DataTable 
      da.Fill(tblUser) 
      If tblUser.Rows.Count <> 0 Then 
       Return tblUser(0) 
      Else 
       Return Nothing 
      End If 
     End Using 
    End Using 
End Function 
0

從SqlDataReader的執行一個SqlCommand,如:

Dim vVendedor As New SqlCommand("SELECT user FROM users", mConeccion) 
vDatosVen = vVendedor.ExecuteReader 
vVendedor = Nothing 

,並獲得TE值:

While vDatosVen.Read() 
    vUser = vDatosVen("user") 
End While 
0

這裏是我做了什麼......

Private Sub btn_Connect_Click(sender As Object, e As EventArgs) Handles btn_Connect.Click 
    Dim sql_connection As New MySqlConnection 
    Dim sql_query As New MySqlCommand 
    Dim sql_result As MySqlDataReader 
    sql_connection.ConnectionString = "Server=localhost;Database=hidden;Uid=root;Pwd=;" 
    sql_query.Connection = sql_connection 
    sql_connection.Open() 
    sql_query.CommandText = "SELECT Entry,name FROM table WHERE entry=1;" 
    sql_result = sql_query.ExecuteReader 
    If sql_result.HasRows Then 

     Do While sql_result.Read() 
      Dim query_result As String 
      query_result = sql_result("name") 
      MsgBox(query_result) 
     Loop 
    Else 
     MsgBox("No results found.") 
    End If