как получить соединение SQL - PullRequest
0 голосов
/ 31 марта 2010

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

1 Ответ

0 голосов
/ 14 апреля 2010

Следующее изменение кода сделает код вызываемым из любой точки вашего проекта, не требуя явного объявления класса:

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
...