我使用以下方法创建数据库文件。错误消息'此操作系统不支持指定的区域设置。'
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 2012-01-10 14:32:02
你可以尝试通过调试器运行它。查看哪个查询失败。另外,我注意到你没有在你的'errors'表中的'message'列中加引号。这可能不是问题,因为我不相信这是一个关键字,但只是想知道为什么你省略了该列的引号。 – 2012-01-10 16:54:45
@MusiGenesis:在正常的窗户上。连接字符串现在已发布。看看我的更新。 – Jack 2012-01-10 18:07:01