Compact Framework 3.5 - DataSet运行时连接字符串

时间:2011-05-19 14:40:03

标签: compact-framework xsd dataset connection-string strongly-typed-dataset

我发现MS article表示我可以使用.XSD文件的ConnectionString属性在运行时更改DataSet的ConnectionString。

这会在.csproj文件中设置一个名为“RuntimeConnectionString”的元素。

但是,当我将其部署到我的Motorola MC9190-G设备(Windows Mobile 6.5.1)时,它不会更改tableadapters的ConnectionString。

我做错了什么,或者这是一个错误?使用Compact Framework更改运行时连接字符串的适当/备用选项是什么?

先谢谢

1 个答案:

答案 0 :(得分:0)

我花了一整天的时间来寻找这个问题的解决方案。 看起来它是一个Visual Studio错误(我使用VS2008Professional并且也被困在这个上)。 在这种情况下,两种可能的行动是: 1)在TA构建之前手动更改tableAdapter(TA)connectionString(事实上在连接到db之前)。

// something like this:
if (storageDataSetUtil.DesignerUtil.IsRunTime())
{
    // path to database file in my mobile device
    this.employeesTableAdapter.Connection.ConnectionString = @"/Program Files/MyApp/data/storage.s3db";

    // VS2008-generated code for auto-filling table at runtime:
    this.employeesTableAdapter.Fill(this.storageDataSet.employees);
}

2)使用语句'| DataDirectory |'你的TA的connectionString中没有引号(没有引号)。在dataSet designer(schema)中选择TA并显示其属性。展开“连接”字段并选择不用于连接数据库的连接(VS2008通常在将dataSet绑定到WinForms控件时创建一个。如果没有,则手动为TA创建新连接)。因此,用于数据库连接的connectionString保持不变。 使用| DataDirectory |允许您在数据库文件中使用相对路径,并且在大多数情况下是独立于平台的。至于我,这有帮助。希望,这对你也有帮助。

P.S。抱歉英语不好)