PPC开发体验一

我想很多人都知道SqlCE使用远程数据访问请求数据都会用SqlCeRemoteDataAccess 类的PULL来请求,也叫拉数据,网上也可以找到相关资料。在我个人使用中,因为对数据库的不熟悉,所以带来了很多麻烦。先看看相关代码:

        private static string internetserver = "http://192.168.1.2/MobileServer/sqlcesa30.dll";
        private string internetuser = "sa";
        private string internetpassword = "123";
        private static string RemoteConnection = @"Data Source=USEPC;User ID=sa;password=123;Initial Catalog=AfterBillow";
        private static string LocalPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
        private static string LocalDatabase = LocalPath + "//Pafterbillow.sdf";
        private string LocalConnectionStr = @"Data Source="+LocalDatabase+";password=222333";
        private string LocalTableName = "PUser";
        private string RemoteTableName = "User";

       public void DBPull( )
        {        

            string SQL;
            SqlCeConnection cn;
            SqlCeCommand cmd;
            SqlCeRemoteDataAccess rda = null;
            try
            {
                rda = new SqlCeRemoteDataAccess();
                rda.InternetUrl = internetserver;
                rda.InternetLogin = internetuser;
                rda.InternetPassword = internetpassword;
                rda.LocalConnectionString = LocalConnectionStr;
                //请求下载远程数据表
                SQL = "select UserName,Password from User";     

            rda.Pull(LocalTableName, SQL, @"Provider=sqloledb;Data Source=USEPC;User ID=sa;password=123;Initial Catalog=AfterBillow", RdaTrackOption.TrackingOnWithIndexes, "RDAErrors");
                rda.Dispose();
            }
            catch (SqlCeException sex)
            {
                MessageBox.Show(sex.Message);
            }

}

出现错误提示:设置非参数化查询时出错,可能是因为SQL查询不正确.

呵呵,这样的错误,当然出在SQL语句问题。在相关的QQ群上问了很多网友,都不得奇解,有人劝说把select  *  from User 改成 select 字段,字段 form User 。根据SQL Server 2005 Mobile Edition 联机丛书帮助所看,也应改成 select 字段,字段 form User,但也解决不了。

后来在SQL查询分析器里调试,发现User是关键字才知道问题所在,呵呵,改为别的表名,一切问题解决,真是晕死。又一个自已给自已的忠告。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值