2015-09-24 131 views
-1

我已經研究過這個主題,但不幸的是我找不到任何我可以輕鬆理解的內容。我有一個名爲GMASS的指導監視和調度系統的MySQL數據庫。我想要做的是當我從學生表中輸入學號時,學生的姓名將在我的標籤中預覽。我該如何做到這一點?我基本上是一個初學者。提前謝謝你。MySql查詢檢索數據並在vb.net標籤中顯示

回答

0
Imports System 
Imports System.Data 
Imports MySql.Data.MySqlClient 


Public Class bd 


    Public Shared Mystr As String = MyConnectStr.getConnectString("localhost", "root", "", "databasename") 


    Public Shared Sub setConnectionString(str As String) 
     Mystr = str 
    End Sub 

    Public Shared Function getConnectionString() As String 
     Return Mystr 
    End Function 


    Public Shared Function Executer_scalar(Query As String) As String 
     Dim MySqlConn As MySqlConnection = Nothing 
     Try 

      MySqlConn = New MySqlConnection(getConnectionString()) 

      Dim MySqlCom As New MySqlCommand(Query, MySqlConn) 

      MySqlConn.Open() 

      setNamesUTF8(MySqlConn) 



      Return MySqlCom.ExecuteScalar().ToString() 
     Catch ex As Exception 
      Throw ex 
     Finally 
      Try 
       MySqlConn.Close() 
      Catch generatedExceptionName As Exception 
      End Try 
     End Try 
    End Function 

    Public Shared Function Executer_NonQuery(Query As String) As Integer 
     Dim MySqlConn As MySqlConnection = Nothing 
     Try 
      MySqlConn = New MySqlConnection(getConnectionString()) 

      Dim MySqlCom As New MySqlCommand(Query, MySqlConn) 

      MySqlConn.Open() 

      setNamesUTF8(MySqlConn) 



      Return MySqlCom.ExecuteNonQuery() 
     Catch ex As Exception 
      Throw ex 
     Finally 
      Try 
       MySqlConn.Close() 
      Catch ex As Exception 
      End Try 
     End Try 
    End Function 

    Public Shared Function Query(q As String, Optional table_name As String = "Table") As DataTable 
     Dim MySqlConn As MySqlConnection = Nothing 
     Try 
      MySqlConn = New MySqlConnection(getConnectionString()) 

      Dim MySqlCom As New MySqlCommand(q, MySqlConn) 

      MySqlConn.Open() 

      setNamesUTF8(MySqlConn) 

      Dim MySqlda As New MySqlDataAdapter(MySqlCom) 

      Dim dt As New DataTable(table_name) 

      MySqlda.Fill(dt) 


      Return dt 
     Catch ex As Exception 
      Throw ex 
     Finally 
      Try 
       MySqlConn.Close() 
      Catch ex As Exception 
      End Try 
     End Try 
    End Function 

    Public Shared Function load_table(table_name As String) As DataTable 
     Dim MySqlConn As MySqlConnection = Nothing 
     Try 
      MySqlConn = New MySqlConnection(getConnectionString()) 

      Dim MySqlCom As New MySqlCommand("SELECT * FROM " & table_name, MySqlConn) 

      MySqlConn.Open() 

      setNamesUTF8(MySqlConn) 

      Dim MySqlda As New MySqlDataAdapter(MySqlCom) 

      Dim dt As New DataTable(table_name) 

      MySqlda.Fill(dt) 


      Return dt 
     Catch ex As Exception 
      Throw ex 
     Finally 
      Try 
       MySqlConn.Close() 
      Catch ex As Exception 
      End Try 
     End Try 
    End Function 

    Public Shared Function load_tables(ParamArray table_name As String()) As DataSet 
     Dim MySqlConn As MySqlConnection = Nothing 
     Try 
      Dim ds As New DataSet() 

      Dim MySqlCom As MySqlCommand = Nothing 

      Dim MySqlda As MySqlDataAdapter = Nothing 

      Dim dt As DataTable = Nothing 

      MySqlConn = New MySqlConnection(getConnectionString()) 



      MySqlConn.Open() 

      setNamesUTF8(MySqlConn) 

      For i As Integer = 0 To table_name.Length - 1 
       MySqlCom = New MySqlCommand("SELECT * FROM " & table_name(i), MySqlConn) 
       MySqlda = New MySqlDataAdapter(MySqlCom) 
       dt = New DataTable(table_name(i)) 
       MySqlda.Fill(dt) 
       ds.Tables.Add(dt) 
      Next 


      Return ds 
     Catch ex As Exception 
      Throw ex 
     Finally 
      Try 
       MySqlConn.Close() 
      Catch ex As Exception 
      End Try 
     End Try 
    End Function 

    Public Shared Function load_DataSet(Query As String, Optional table_name As String = "Table") As DataSet 
     Dim MySqlConn As MySqlConnection = Nothing 
     Try 
      MySqlConn = New MySqlConnection(getConnectionString()) 

      Dim MySqlCom As New MySqlCommand(Query, MySqlConn) 

      MySqlConn.Open() 

      setNamesUTF8(MySqlConn) 

      Dim MySqlda As New MySqlDataAdapter(MySqlCom) 

      Dim ds As New DataSet() 

      MySqlda.Fill(ds, table_name) 


      Return ds 
     Catch ex As Exception 
      Throw ex 
     Finally 
      Try 
       MySqlConn.Close() 
      Catch ex As Exception 
      End Try 
     End Try 
    End Function 

    Public Shared Function load_DataSet_S(ParamArray Query As String()) As DataSet 
     Dim MySqlConn As MySqlConnection = Nothing 
     Try 
      Dim ds As New DataSet() 

      Dim MySqlCom As MySqlCommand = Nothing 

      Dim MySqlda As MySqlDataAdapter = Nothing 

      Dim dt As DataTable = Nothing 

      MySqlConn = New MySqlConnection(getConnectionString()) 

      MySqlConn.Open() 

      setNamesUTF8(MySqlConn) 

      For i As Integer = 0 To Query.Length - 1 
       MySqlCom = New MySqlCommand(Query(i), MySqlConn) 
       MySqlda = New MySqlDataAdapter(MySqlCom) 
       dt = New DataTable("Table_" & i) 
       MySqlda.Fill(dt) 
       ds.Tables.Add(dt) 
      Next 


      Return ds 
     Catch ex As Exception 
      Throw ex 
     Finally 
      Try 
       MySqlConn.Close() 
      Catch 
      End Try 
     End Try 
    End Function 

    Public Shared Function load_ps(ps_name As String, Optional params_name As String() = Nothing, Optional params_value As Object() = Nothing) As DataTable 
     Dim MySqlConn As MySqlConnection = Nothing 
     Try 
      MySqlConn = New MySqlConnection(getConnectionString()) 

      Dim MySqlCom As New MySqlCommand(ps_name, MySqlConn) 

      MySqlCom.CommandType = CommandType.StoredProcedure 

      If (params_name IsNot Nothing) And (params_value IsNot Nothing) Then 
       For i As Integer = 0 To params_name.Length - 1 
        MySqlCom.Parameters.AddWithValue(params_name(i).Replace("@", ""), params_value(i)) 
       Next 
      End If 

      MySqlConn.Open() 

      setNamesUTF8(MySqlConn) 

      Dim MySqlda As New MySqlDataAdapter(MySqlCom) 

      Dim dt As New DataTable(ps_name) 

      MySqlda.Fill(dt) 


      Return dt 
     Catch ex As Exception 
      Throw ex 
     Finally 
      Try 
       MySqlConn.Close() 
      Catch 
      End Try 
     End Try 
    End Function 

    Public Shared Function load_ps_ds(ps_name As String, Optional params_name As String() = Nothing, Optional params_value As Object() = Nothing) As DataSet 
     Dim MySqlConn As MySqlConnection = Nothing 
     Try 
      MySqlConn = New MySqlConnection(getConnectionString()) 

      Dim MySqlCom As New MySqlCommand(ps_name, MySqlConn) 

      MySqlCom.CommandType = CommandType.StoredProcedure 

      If (params_name IsNot Nothing) And (params_value IsNot Nothing) Then 
       For i As Integer = 0 To params_name.Length - 1 
        MySqlCom.Parameters.AddWithValue(params_name(i).Replace("@", ""), params_value(i)) 
       Next 
      End If 

      MySqlConn.Open() 

      setNamesUTF8(MySqlConn) 

      Dim MySqlda As New MySqlDataAdapter(MySqlCom) 

      Dim ds As New DataSet() 

      MySqlda.Fill(ds) 


      Return ds 
     Catch ex As Exception 
      Throw ex 
     Finally 
      Try 
       MySqlConn.Close() 
      Catch ex As Exception 
      End Try 
     End Try 
    End Function 

    Public Shared Function load_Reader(Query As String, Optional table_name As String = "Table") As MySqlDataReader 
     Dim MySqlConn As MySqlConnection = Nothing 
     Try 
      MySqlConn = New MySqlConnection(getConnectionString()) 

      Dim MySqlCom As New MySqlCommand(Query, MySqlConn) 

      MySqlConn.Open() 

      setNamesUTF8(MySqlConn) 


      Return MySqlCom.ExecuteReader() 
     Catch ex As Exception 
      Throw ex 
     End Try 
    End Function 

    Public Shared Function Execute_Transact(ParamArray Query As String()) As Object 
     Dim MySqlConn As MySqlConnection = Nothing 
     Dim tran As MySqlTransaction = Nothing 
     Try 
      MySqlConn = New MySqlConnection(getConnectionString()) 

      MySqlConn.Open() 

      setNamesUTF8(MySqlConn) 

      tran = MySqlConn.BeginTransaction() 

      Dim MySqlCom As MySqlCommand() = New MySqlCommand(Query.Length) {} 

      For i As Integer = 0 To Query.Length - 1 
       MySqlCom(i) = New MySqlCommand(Query(i), MySqlConn) 
       MySqlCom(i).Transaction = tran 
      Next 

      For i As Integer = 0 To Query.Length - 1 
       MySqlCom(i).ExecuteNonQuery() 
      Next 

      tran.Commit() 


      Return 0 
     Catch ex As Exception 
      Try 
       tran.Rollback() 
      Catch exx As Exception 
      End Try 
      Throw ex 
     Finally 
      Try 
       MySqlConn.Close() 
      Catch ex As Exception 
      End Try 
     End Try 
    End Function 

    Private Shared Sub setNamesUTF8(conn As MySqlConnection) 
     Try 


      Dim MySqlCom As New MySqlCommand("SET NAMES 'utf8'", conn) 


      MySqlCom.ExecuteNonQuery() 
     Catch ex As Exception 
      Throw ex 
     End Try 
    End Sub 

End Class