C# とローカル データベースで遊んでいます ( An empty SQL Server Compact Edition database for local data
)
しかし、データベースに接続してデータを取得できません。
これは私が試すものです:
// Properties.Settings.Default.DatabaseConnectionString = Data Source=|DataDirectory|\Database.sdf
// I guess Visual Studio put it there after I created my database...
using(SqlConnection sqlConnection = new SqlConnection(Properties.Settings.Default.DatabaseConnectionString)) {
using(SqlCommand sqlCommand = new SqlCommand("SELECT * FROM users WHERE id = @id", sqlConnection)) {
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.AddWithValue("@id", 1);
try {
sqlConnection.Open();
SqlDataReader reader = sqlCommand.ExecuteReader(CommandBehavior.SingleRow);
if(reader.Read()) {
System.Console.WriteLine(reader);
System.Console.WriteLine(reader["id"]);
System.Console.WriteLine(reader["name"]);
}
}
catch(Exception e) {
System.Console.WriteLine(e.GetBaseException());
}
finally {
sqlConnection.Close();
}
}
}
プログラム全体がしばらくハングします。一時停止した後、次のメッセージが表示されます。
SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: SQL ネットワーク インターフェイス、エラー: 26 - 指定されたサーバー/インスタンスの検索中にエラーが発生しました)