2010-03-30 79 views
0

FS_Setting是有连接的所有详细信息的VB类,即:如何获得SQL连接

Public Class FS_Setting 
    Public Function Get_RS_Connection() As SqlConnection 
     Try 
      Get_RS_Connection = New SqlConnection("Data Source=***********;User ID=sa;Password=*****;database=*********") 
          Catch ex As System.Exception 
      Throw New System.Exception("Get_RS_Connection Error:" + ex.Message) 
     End Try 
    End Function 

我需要调用函数Get_RS_Connection()在不同的类,而不是所有得到的连接再次的方式和硬编码....我想打电话给在SQL连接声明上面的类

Namespace FS_Library 
     Public Class FS_Errorlog 
     Inherits FS_BaseClass 
Try 

    **cn = New SqlConnection("Data Source=***********;UserID=sa;Password=*****;database=*********")** 
    cmd = New SqlCommand("dbo.FS_ErrorLog_ADD", cn) 
    cmd.CommandType = CommandType.StoredProcedure 
    cmd.CommandTimeout = Convert.ToInt32(ConfigurationSettings.AppSettings("Command_Timeout")) 
    Me.AddParameter(cmd, "@p_tableKey", SqlDbType.Int, tableKey) 
    Me.AddParameter(cmd, "@p_FunctionCode", SqlDbType.Int, FunctionCode) 
    Me.AddParameter(cmd, "@p_TableAlias", SqlDbType.VarChar, TableAlias) 
    Me.AddParameter(cmd, "@p_ValidationCode", SqlDbType.Int, ValidationCode) 
    If Filename = "" Then 
     Filename = "N/A" 
    End If 
    Me.AddParameter(cmd, "@p_FileName", SqlDbType.VarChar, Filename) 
    Me.AddParameter(cmd, "@p_Message", SqlDbType.VarChar, Message) 
    Me.AddParameter(cmd, "@p_CreateUser", SqlDbType.VarChar, userID) 
    Me.AddParameter(cmd, "@p_UserActionID", SqlDbType.UniqueIdentifier, UserActionID) 
    cn.Open() 

回答

0

下面的代码改变将使代码在你的项目中的任何地方调用,而不需要明确的声明班级:

Public Class FS_Setting 
    Public Shared Function Get_RS_Connection() As SqlConnection 
     Try 
      Get_RS_Connection = New SqlConnection("Data Source=***********;User ID=sa;Password=*****;database=*********") 
     Catch ex As System.Exception 
      Throw New System.Exception("Get_RS_Connection Error:" + ex.Message) 
     End Try 
    End Function 

相反的:

cn = New SqlConnection("Data Source=***********;UserID=sa;Password=*****;database=*********")** 

您可以使用:

cn =FS_Setting.Get_RS_Connection