Windows Mobile Pocket PC 连接数据库
由于刚第一次接触智能设备程序设计,时间紧促,一些概念不是很明确,希望朋友详细指教,不胜感激。
我收到一个PDA程序,是在VS2005 下C#编写的,在VS2005下可以正常运行,但升级到VS2008后连接数据库会抛出异常。
我做了以下测试:
新建一个设备应用程序,目标平台是WIndows mobile 5.0 pocket pc sdk, .net Compact framework 版本号是 3.5。在一个form按钮上添加如下代码:
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=WWW-077AEB9BB89;Initial Catalog=eVideoBill_ms;User ID=sa";
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from TBL_TEST ";
cmd.Connection = con;
DataSet ds = new DataSet();
SqlDataAdapter adp = new SqlDataAdapter(cmd);
try
{
con.Open();
adp.Fill(ds);
MessageBox.Show(ds.Tables[0].Rows.Count.ToString());
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
}
finally
{
adp.Dispose();
cmd.Dispose();
con.Dispose();
}
这段代码在普通的winform程序中测试通过,但是在windows mobile中运行到Open()时就会抛出异常。注:在运行前,我已经在windows mobile上安装了两个CAB包(我理解为.net framework和 数据库驱动),这两个包是从我收到的那个VS2005下能运行的项目中Copy过来的,如图所示。
问题就这样,网上搜索怀疑是这两个CAB包和升级后的程序不兼容,但到底该怎么解决一直没有尝试成功,由于时间紧迫,望大侠详细指教,谢谢。
------解决方案--------------------ConnectionString 首先要在移动设备上能确保正确。
在移动设备上使用SQL Server我还真的是第一次看到(不过没有太注意)。使用SQL Server Compact Edition很常见,但是这时候 ConnectionString 就根本不是你的那种了,在ConnectionString 中实际上是直接指向数据库文件的路径的。
------解决方案--------------------加我q把,我应该能帮你解决。q:287646795