在Mobile 6.1设备上使用C#WinForms .Net 3.5到SQL CE 3.5
我想通过ActiveSync连接桌面应用程序到Windows Mobile设备上的SDF数据库。 Visual Studio允许我创建到我的设备的数据连接。连接测试正常,我可以使用Visual Studio查看数据库中的数据。
然后我创建一个表单并尝试填充DataGridView。当我运行程序时,我得到一个错误,即数据库的路径无效。
我应该如何在连接字符串中指定移动设备路径?
在我的App.Config中,我尝试了路径上的变体,但它们都不起作用:
connectionString="Data Source=Mobile Device\Program Files\SqlCeViaActiveSync\Orders.sdf"
connectionString="Data Source=\Mobile Device\Program Files\SqlCeViaActiveSync\Orders.sdf"
connectionString="Data Source=Program Files\SqlCeViaActiveSync\Orders.sdf"
connectionString="Data Source=\Program Files\SqlCeViaActiveSync\Orders.sdf"
完整连接字符串部分如下所示:
<connectionStrings>
<add name="SqlCeViaActiveSync.Properties.Settings.OrdersConnectionString"
connectionString="Data Source=Mobile Device\Program Files\SqlCeViaActiveSync\Orders.sdf"
providerName="Microsoft.SqlServerCe.Client.3.5" />
</connectionStrings>
另外,我确实引用了Microsoft.SqlServerCe.Client,因为我发现有一些文章提到它是必要的。
有人能指出我最近的一些文章/样本,还是让我知道我做错了什么?
谢谢!
答案 0 :(得分:0)
我刚刚发现以下作品:
SqlCeConnection conn = new SqlCeConnection(@"Data Source='Mobile Device\Program Files\SqlCeViaActiveSync\Orders.sdf';");
conn.Open();
using (SqlCeTransaction trans = conn.BeginTransaction())
{
using (SqlCeCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT [OrderNumber] FROM [Orders];";
trans.Commit();
SqlCeDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
this.listBox1.Items.Add((string)dr["OrderNumber"]);
}
MessageBox.Show(dr.RecordsAffected.ToString());
}
}
conn.Close();
这不是我想要的,但会适用于此应用程序。