.NET Compact FrameworkとローカルSQL Server用に、私が必要としているだけの小さな静的DALクラスを作成しました。 (SQL、params)、ExecScalar(SQL、Params)など。SQLですべてをやりたかったので、C#でSQL Connectionを処理するより良い方法があれば、私にお知らせください。ここで私は私のDALクラスの下SQLConnectionオブジェクトへのパブリックアクセスを与える方法は次のとおりです。切断時にSQLServerに再接続するにはどうすればよいですか?
public static SqlConnection Conn()
{
if (ConnStr == "")
Defaults();
try
{
if (conn == null)
conn = new SqlConnection(ConnStr);
if (conn.State != ConnectionState.Open)
{
conn.Open();
Execute("SET DATEFORMAT DMY",null);
}
return conn;
}
catch
{
System.Windows.Forms.MessageBox.Show("Unable to connect to DB");
}
return null;
}
私がコーディングしていたアプリケーションは、モバイルのWindows CE 5.0で使用されています。問題は、ユーザーがワイヤレスネットワークから切断されてから再接続すると、if (conn.State != ConnectionState.Open)
行が実行されず、アプリケーションが一般的なデータベース例外を与えることです。これをどうやって解決するのですか?
編集:例外はGetTable()などの関数によって発生します。私は各関数でtry-catchを使って処理できますが、残念なことにCompact FrameworkではすべてのSQLエラーは "SqlException"という名前です。接続の問題とクエリの問題の違いを教えてください。
残念ながら、.NET Compact FrameworkはSystem.Net.NetworkInformationをサポートしていないようです。 –