接続文字列を に保存しました。Properties.Settings.Default
毎回宣言することなく、すべてのクラスで SQL 接続を使用する必要があります。どのように宣言する必要がありますか?
質問する
19734 次
5 に答える
2
これは、どのクラスでも STATIC 変数を使用して実行できます。
于 2013-03-02T12:50:14.397 に答える
2
SqlConnection
実際には、どこでもシングルを使用する必要はありません。より良いアプローチは、データ アクセスを管理するクラスを作成することです。通常、これはデータ アクセス層 (DAL) の役割です。DAL は、すべてのデータベース関連のものを処理する一連のクラスです。
この目的のための非常に単純なクラスは次のようになります。
public class DatabaseManager
{
private static DatabaseManager _instance;
private DatabaseManager()
{
}
static DatabaseManager()
{
_instance = new DatabaseManager();
}
public DatabaseManager Instance
{
get { return _instance; }
}
private string GetConnectionString()
{
return Properties.Settings.Default.MyConnectionString;
}
public SqlConnection CreateConnection()
{
return new SqlConnection(GetConnectionString());
}
}
このクラスを拡張して、クエリを実行する別のメソッドを含めることができます。
Entity FrameworkのようなORM (Object-Relational Mapper)を使用することを強くお勧めします。
于 2013-03-02T12:51:55.993 に答える
1
新しいオブジェクトをインスタンス化するときはいつでも、そのコンストラクターにその接続への参照を渡します。
于 2013-03-02T12:49:55.467 に答える
1
私は古いプロジェクトで似たようなものをセットアップしました。接続プールSqlConnection
のため、常にすべての操作に new を使用する必要があることに注意してください。
public static class SqlConnectionUtil
{
public static string DefaultConnectionString { get; private set; }
static SqlConnectionUtil()
{
SqlConnectionUril.DefaultConnectionString =
Properties.Settings.Default.TheConnectionString;
}
public static SqlConnection Create()
{
return new SqlConnection(SqlConnectionUtil.DefaultConnectionString);
}
}
次に、このように使用します。
using (var connection = SqlConnectionUtil.Create())
{
using (var command = connection.CreateCommand())
{
// do things.
}
}
于 2013-03-02T12:50:55.333 に答える
0
このコードを使用して、接続文字列を取得できます
var defaultConn= new SqlConnection(ConfigurationManager.AppSettings["defaultConn"].ToString());
于 2013-03-02T12:50:45.180 に答える