次の方法でデータベースファイルを作成しています。エラーメッセージ '指定されたロケールはこのオペレーティングシステムでサポートされていません。'
public bool CreateDatabaseFile()
{
try
{
Stream file = File.Create(DBPath);
file.Close();
return true;
}
catch (Exception)
{
return false;
}
}
しかし、私は
public void CreateDatabaseStruct()
{
var queries = new List<string>
{
"create table contacts (\"name\" nvarchar,\"emails\" nvarchar);",
"create table errors (\"code\" int, message nvarchar);"
};
foreach (string query in queries)
{
var con = new SqlCeConnection(connectionString);
con.Open();
var cmd = con.CreateCommand();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
con.Close();
}
}
を呼び出すとき、それは
指定されたロケールを返しますが、このオペレーティングシステムでサポートされていません[LCD - 1]。
この問題を修正するにはどうすればよいですか?
UPDATE
接続文字列:
public static readonly string DBPath = "db.sdf";
public static readonly string connectionString = String.Format("Data Source={0}; Password=...", DBPath);
おそらく、接続文字列に問題があります。あなたはそれを投稿し、あなたがこれを実行しているもの(Windows Mobileまたは通常のWindows)を言うことができますか? – MusiGenesis
デバッガで実行してみることはできますか?どのクエリが失敗しているかを確認します。また、 'error'テーブルの' message'カラムの前後に引用符を入れなかったことに気付きました。これはキーワードではないと思うので問題ではありませんが、その列の引用符を省略した理由は不思議です。 –
@MusiGenesis:通常のウィンドウで。接続文字列が今投稿されました。私の更新をチェックしてください。 – Jack