0

FS_Setting 是一个 VB 类,它具有连接的所有详细信息,即:

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()
4

1 回答 1

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
于 2010-04-14T02:13:47.897 回答