2011-07-06 83 views
1

我想爲我的整個項目編寫一個全局函數,以便在各種表單中使用。我嘗試創建一個公共模塊並創建一個公共函數,但是當我將它稱爲我的表單時,它會產生錯誤。VB.NET中的公共函數

讓我說我的全局函數是關於連接到數據庫。然後當我打電話時,它說連接屬性沒有被初始化。

在我的函數文件,我用:

Imports System.Data.SqlClient 
Public Module Connection 
    Dim myConnection As SqlConnection 
    Public Sub ConnectToDatabase() 
     myConnection = New SqlConnection(".............") 
     myConnection.Open() 
    End Sub 
End Module 

而在我的形式,我用:

Private Sub Form_Load(...........) Handles MyBase.Load 
    ConnectToDatabase() 'I call the function here 
    ............................................... 
End Sub 

這是行不通的。 謝謝。

+2

你能提供一些代碼來證明什麼是不工作? –

+0

當你說「這不起作用」,它不起作用?我猜「ConnectToDatabase()」無法識別?這裏也可能有一個設計問題--SqlConnections實現IDisposable; 「使用陳述」通常最好包圍它們。另外,連接打開時間通常不是很好。只需仔細觀察一下 - 讓我們知道Exception/Compiler警告是什麼 – Smudge202

+0

其錯誤是'連接屬性尚未初始化'。 –

回答

1

我懷疑這與公共模塊或公共功能以及與您沒有正確初始化連接有關的事實無關。

試試下面的代碼:

Imports System.Data.SqlClient 
Imports System.Data 

Public Sub ConnectToSQL() 
    Dim con As New SqlConnection 
    Dim cmd As New SqlCommand 
    Try 
     con.ConnectionString = "Data Source=atisource;Initial Catalog=BillingSys;Persist Security Info=True;User ID=sa;Password=12345678" 
     con.Open() 
    Catch ex As Exception 
     MessageBox.Show("Error while connecting to SQL Server." & ex.Message) Finally 
     con.Close() 'Whether there is error or not. Close the connection. 
    End Try 
End Sub