错误消息“指定的语言环境不支持此操作系统。”不支持、操作系统、错误、消息

2023-09-03 05:16:07 作者:Optimist 乐观主义者

我用下面的方法创建数据库文件。

 公共BOOL CreateDatabaseFile()
{
    尝试
    {
        流文件= File.Create(DBPATH);
        file.Close();
        返回true;
    }
    赶上(例外)
    {
        返回false;
    }
}
 

但是,当我打电话

 公共无效CreateDatabaseStruct()
 {
     VAR的查询=新的名单,其中,串>
     {
         创建表的联系人(\名称\为nvarchar,\电子邮件\为nvarchar);,
         创建表的错误(\code \诠释,消息nvarchar的);
     };

     的foreach(在查询字符串查询)
     {
         VAR CON =新的SqlCeConnection(的connectionString);
         con.Open();
         变种CMD = con.CreateCommand();

         cmd.CommandText =查询;
         cmd.ExecuteNonQuery();
         con.Close();
     }
 }
 

返回

  

指定的语言环境不支持这个操作系统[LCD - 1]。

我该如何解决这个问题?

更新

连接字符串:

 公共静态只读字符串DBPATH =db.sdf;
 公共静态只读字符串的connectionString =的String.Format(数据源= {0};密码= ...,DBPATH);
 
为什么我W7的系统装IE8显示此操作系统不支持呢IE8

解决方案

解决方法是使用创建 SqlCeEngine.CreateDatabase()。

I'm creating the database file using the following method.

public bool CreateDatabaseFile()
{
    try
    {
        Stream file = File.Create(DBPath);
        file.Close();
        return true;
    }
    catch (Exception)
    {
        return false;
    }
}

But when I call

 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();
     }
 }

it returns

The specified locale is not supported on this operating system [LCD - 1].

How do I fix this?

UPDATE

The connection string:

 public static readonly string DBPath = "db.sdf";
 public static readonly string connectionString = String.Format("Data Source={0}; Password=...", DBPath);

解决方案

the solution is create it using SqlCeEngine.CreateDatabase().