2017-03-10 32 views
1

從MySQL數據我需要證明從MySQL一樣的DataGridViewListView功能的一組數據,而是使用多個TextBox控制。我的工作結果是來自一列的所有數據都合併在一個TextBox上。我不知道如何製作一個循環。如何顯示在文本框

代碼:

Imports System.Data 
Imports MySql.Data.MySqlClient 

Public Class Form1 

    Dim con As MySqlConnection = New MySqlConnection("data source=localhost; user id=root; database=abc; password=") 
    Dim query As String = "SELECT id,timein,timeout FROM emp" 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

     Using myCommand As New MySqlCommand("SELECT * FROM emp ORDER BY id ASC", con) 
      Try 
       con.Open() 
       Using myData = myCommand.ExecuteReader() 
        If myData.HasRows Then 
         While myData.Read() 
          Dim idline = String.Format("{0}", myData.GetString(myData.GetOrdinal("id")), Environment.NewLine) 
          Dim inline = String.Format("{0}", myData.GetString(myData.GetOrdinal("timein")), Environment.NewLine) 
          Dim outline = String.Format("{0}", myData.GetString(myData.GetOrdinal("timeout")), Environment.NewLine) 
          idbox1.Text &= idline 
          idbox2.Text &= idline 
          idbox3.Text &= idline 
          timein1.Text &= inline 
          timein2.Text &= inline 
          timein3.Text &= inline 
          timeout1.Text &= inline 
          timeout2.Text &= inline 
          timeout3.Text &= inline 
         End While 
        End If 
       End Using 
      Catch ex As Exception 
       MessageBox.Show(ex.ToString()) 
      End Try 
     End Using 
     con.Close() 
    End Sub 
End Class 
+0

它看起來像你所有的附加價值,爲每列,每個人對應的文本框中。你究竟在努力實現什麼? –

+0

我想使它像一個數據網格,每列的不同值將顯示在每個文本框上,一個文本框上的一個值 –

+0

您需要爲數據庫中的每一行添加一行文本框,並填充他們。 –

回答

1

您是否嘗試過使用一個DataTable?我構建了一個表單,用於將加載的值從DataTable中提取出來,並且可以在該表中指定顯示的列和按什麼順序排列。我使用MS VS17 RC中的內置函數來鏈接表格。可以幫助你解決你的問題。

Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    Dim sqlConn As New SqlConnection("Connection String Info") 
    Dim cmd As New SqlCommand 
    Dim dr As New SqlDataAdapter("-Query String-", sqlConn) 
    Dim dt As New DataTable 
    Try 
     If sqlConn.State = ConnectionState.Closed Then 


      sqlConn.Open() 

      dr.Fill(dt) 

      Menu.DisplayMember = "prod_name" --add your columns here 
      Menu.DataSource = dt 

      sqlConn.Close() 
     End If 

    Catch ex As Exception 
     MsgBox(ex.Message) 

    End Try 
    Order.Clear() 
    For Each Item As Object In Menu.SelectedItems 
     Order.AppendText(Item.ToString = Environment.NewLine) 
    Next 
End Sub 
1

這對我很好。我得到了我需要做的。感謝您的想法。 「進口System.Data 進口MySql.Data.MySqlClient

公共類窗體2 昏暗CON作爲的MySqlConnection =新的MySqlConnection(」 數據源=本地主機;用戶ID =根;數據庫= ABC;密碼=「)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Dim con As MySqlConnection = New MySqlConnection("data source=localhost; user id=root; database=abc; password=") 
    Dim query As String = "SELECT id,timein,timeout FROM emp" 
    con.Open() 
    Dim dt As New DataTable 
    Dim da As New MySqlDataAdapter("SELECT * FROM emp ORDER BY id ASC", con) 
    da.Fill(dt) 
    idbox1.Text = dt.Rows(0)("id").ToString() 
    idbox2.Text = dt.Rows(1)("id").ToString() 
    idbox3.Text = dt.Rows(2)("id").ToString() 
    timein1.Text = dt.Rows(0)("timein").ToString() 
    timein2.Text = dt.Rows(1)("timein").ToString() 
    timein3.Text = dt.Rows(2)("timein").ToString() 
    timeout1.Text = dt.Rows(0)("timeout").ToString() 
    timeout2.Text = dt.Rows(1)("timeout").ToString() 
    timeout3.Text = dt.Rows(2)("timeout").ToString() 
    con.Close() 
End Sub 

末級 「