8

接続文字列で本当に迷惑な時間を過ごしています。

1つのソリューションに2つのプロジェクトがあります。プレゼンテーション層として機能するWebフォームアプリケーションと、データベースとの間でデータを送受信するそれをサポートするクラスライブラリ。  

-クラスライブラリプロジェクト内の従業員クラス-

Friend Class Employee

Public Function GetEmployees() As DataSet

    Dim DBConnection As New SqlConnection(My_ConnectionString)
    Dim MyAdapter As New SqlDataAdapter("exec getEmployees", DBConnection)

    Dim EmployeeInfo As DataSet
    MyAdapter.Fill(EmployeeInfo, "EmployeeInfo")

    Return EmployeeInfo

End Function

End Class

現在、アプリケーションは、すばやく繰り返しアクセスするために構成ファイル内に保存しようとした「My_ConnectionString」にアクセスできないと言っています。

<configuration>

<system.web>
  <compilation debug="true" strict="false" explicit="true" targetFramework="4.5" />
  <httpRuntime targetFramework="4.5"  />
</system.web>

 <connectionStrings>
   <add name="My_ConnectionString" connectionString="Data Source=.\sqlexpress;Initial Catalog=My_DB;Integrated Security=True;"/>
 </connectionStrings>

</configuration>

web.configはWebフォームプロジェクトの一部であり、クラスライブラリではありません。これらのプロジェクトは、相互に「通信」できませんか?そのプロジェクト内に接続文字列を保存するために、Web /アプリ構成ファイルをクラスライブラリに追加する必要がありますか?

4

5 に答える 5

20

あなたの例のどこから来ているのかはっきりしていませんがMy_ConnectionString、これを試してください

System.Configuration.ConfigurationManager.ConnectionStrings("My_ConnectionString").ConnectionString

このような

Dim DBConnection As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("My_ConnectionString").ConnectionString)
于 2013-03-16T06:19:06.900 に答える
5

.mdfデータベースであり、作成時に接続文字列が保存されている場合は、次の方法でアクセスできるはずです。

    Dim cn As SqlConnection = New SqlConnection(My.Settings.DatabaseNameConnectionString)

それが誰かを助けることを願っています。

于 2015-03-27T03:20:58.523 に答える
1

APPConfigでの接続

<connectionStrings>
  <add name="ConnectionString" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com"   providerName="System.Data.SqlClient" />
</connectionStrings>

Class.Csで

public string ConnectionString
{
    get
    {
        return System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
    }
}
于 2017-03-13T16:15:42.623 に答える
0
Public Function connectDB() As OleDbConnection

        Dim Con As New OleDbConnection
        'Con.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=" & DBNAME & ";Data Source=" & DBSERVER & ";Pwd=" & DBPWD & ""
        Con.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DBNAME;Data Source=DBSERVER-TOSH;User ID=Sa;Pwd= & DBPWD"
        Try
            Con.Open()
        Catch ex As Exception
            showMessage(ex)
        End Try
        Return Con
    End Function
于 2016-03-29T15:25:32.087 に答える
0

これがまだ問題であるかどうかはわかりませんが、コードでMy.Settingsを使用することをお勧めします。

Visual Studioは、app.configファイルから設定を読み取るための関数を含む単純なクラスを生成します。

My.Settings.ConnectionStringを使用して簡単にアクセスできます。

    Using Context As New Data.Context.DataClasses()
        Context.Connection.ConnectionString = My.Settings.ConnectionString
    End Using
于 2020-02-04T10:23:58.320 に答える