2016-03-19 13 views
0

私たちはインストラクターが学習するいくつかのコードを与えられています。私はそれらを使ってログインシステムを作成することを計画していましたが、どのようにすればよいか分かりません。私はこれについてかなり新しく、私は学びたいと熱望しています。私はひどく助けが必要です。クラスからモジュールを呼び出す方法は?

Imports MySql.Data.MySqlClient 

Module MySqlManager 

    Public Function GetMySqlConnStr() As String 
     Dim connStrBuilder As New MySqlConnectionStringBuilder 

     With connStrBuilder 
      .Server = "localhost" 
      .UserID = "root" 
      .Password = "" 
      .Database = "bloodbank" 
      .Port = 3306 
     End With 

     ''Returns the mysql connection string 
     Return connStrBuilder.ConnectionString 
    End Function 


    ''' <summary> 
    ''' Use ExecuteNonQuery for INSERT/UPDATE/DELETE query. Returns 0 if failed. 
    ''' </summary> 
    ''' <param name="commandText"></param> 
    ''' <param name="parameters"></param> 
    Public Function ExecuteNonQuery(ByVal commandText As String, ByVal ParamArray parameters As MySqlParameter()) As Integer 
     Using conn As New MySqlConnection(GetMySqlConnStr) 
      Using cmd As New MySqlCommand(commandText, conn) 
       conn.Open() 

       cmd.Prepare() 
       cmd.CommandType = CommandType.Text 
       If parameters IsNot Nothing Then 
        cmd.Parameters.AddRange(parameters) 
       End If 

       Return cmd.ExecuteNonQuery() 

      End Using 
     End Using 
    End Function 

    ''' <summary> 
    ''' Use ExecuteScalar for querying a single value 
    ''' </summary> 
    ''' <param name="commandText"></param> 
    ''' <param name="parameters"></param> 
    Public Function ExecuteScalar(commandText As String, ParamArray parameters As MySqlParameter()) As Object 
     Using conn As New MySqlConnection(GetMySqlConnStr) 
      Using cmd As New MySqlCommand(commandText, conn) 
       conn.Open() 

       cmd.Prepare() 
       cmd.CommandType = CommandType.Text 
       If parameters IsNot Nothing Then 
        cmd.Parameters.AddRange(parameters) 
       End If 

       Return cmd.ExecuteScalar() 
      End Using 
     End Using 
    End Function 

    ''' <summary> 
    ''' Use ExecuteReader when you are making an SQL call that will return a record set from a table. 
    ''' </summary> 
    ''' <param name="commandText"></param> 
    ''' <param name="parameters"></param> 
    Public Function ExecuteReader(ByVal commandText As String, ByVal ParamArray parameters As MySqlParameter()) As MySqlDataReader 
     Dim conn As New MySqlConnection(GetMySqlConnStr) 
     Using cmd As New MySqlCommand(commandText, conn) 

      conn.Open() 

      cmd.Prepare() 
      cmd.CommandType = CommandType.Text 

      If parameters IsNot Nothing Then 
       cmd.Parameters.AddRange(parameters) 
      End If 

      Dim reader As MySqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection) 

      Return reader 

     End Using 

    End Function 
End Module 

答えて

1
Class SomClass 
Dim stringValue as string = MySqlManager.GetMySqlConnStr() 
End Class 

moduleclassの違いは、あなたが複数のinstances of classを持つことができたときにのみmoduleの1 instanceを持つことができるということです。

+1

** "モジュールのインスタンスを1つしか持てません" ** VBのモジュールはクラスではなく、オブジェクトのインスタンス化には使用できません。むしろ、それらは名前空間に似ていますが、名前空間に関数を直接含めることはできません。一般的に、モジュールは静的クラスです... – Codexer

+0

"VBのモジュールはクラスではありません"で始まり、 "モジュールは静的クラス"で終わります。モジュールは、C#静的クラスのvb.net版です。 – Claudius

関連する問題