Mobile RDA 同步数据库的类

【QGIS】【OsGeo4w】安装方法 every blog every motto: You will never know unless you try 0. 前言 因为目前要使用QGIS,然而环境配置就整了大半天,哎,进行简单记录,方便自己方便他人。 一共分为两种方式安装: 独立安装包 网络安装包(下载osgeo4w-setup) QGIS提供了不同的版本: 长期发行版(LTR) 最新版(LR) 开发人员版本(DEV,母版或测试版) 说明: 本文推荐第二种 1. 正文 1.1 下载osgeo4w 下载链接 下载完成: 1.2 阅读详情
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlServerCe;
using System.IO;

namespace DataBaseCTLSpace
{
    
class DataBaseCTL
    
{
        
private string assemblyLocalFolder;
        
private SqlCeConnection SQLConn;
        
private string InternetURL;
        
private string OleDbConnectString;

        
/// <summary>
        
/// 构造函数,构造一个操作数据库类
        
/// </summary>
        
/// <param name="ServerDataBase">服务器数据库名称</param>
        
/// <param name="DataBase">本地数据库名称</param>
        
/// <param name="ServerName">服务器IP,或者名称</param>
        
/// <param name="UserName">用户名</param>
        
/// <param name="PassWord">密码</param>
        
/// <param name="IISShareDir">IIS共享服务目录,构造InternetURL用</param>

        public DataBaseCTL(string ServerDataBase, string LocalDataBase, string ServerName, string UserName, string PassWord, string IISShareDir)
        
{
            assemblyLocalFolder 
= System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
            assemblyLocalFolder 
= assemblyLocalFolder + "/" + LocalDataBase + ".sdf";
            InternetURL 
= "http://" + ServerName + "/" + IISShareDir + "/sqlcesa30.dll";
            OleDbConnectString 
= "Provider=sqloledb;server=" + ServerName + ";database=" + ServerDataBase
                               
+ "; User Id=" + UserName + ";Password=" + PassWord;
        }


        
~DataBaseCTL()
        
{
            SqlCeEngine engine 
= new SqlCeEngine("Data Source =" + assemblyLocalFolder);
            engine.Shrink();

        }


        
/// <summary>
        
/// 创建数据库文件
        
/// </summary>
        
/// <returns>成功 True, 失败 False 表示有文件或者出现异常</returns>

        public bool CreateDatbase()
        
{
            
if (File.Exists(assemblyLocalFolder)) return false;
            
try
            
{
                SqlCeEngine engine 
= new SqlCeEngine("Data Source =" + assemblyLocalFolder);
                engine.CreateDatabase();
                engine.Dispose();
                
return true;
            }

            
catch
            
{
                
return false;
            }

        }


        
/// <summary>
        
/// 删除数据库文件
        
/// </summary>
        
/// <returns>成功 True, 失败 False</returns>

        public bool DeleteDatabase()
        
{
            
if (File.Exists(assemblyLocalFolder))
            
{
                File.Delete(assemblyLocalFolder);
                
return true;
            }

            
else
                
return false;
        }


        
/// <summary>
        
/// 在本地执行SQL
        
/// </summary>
        
/// <param name="SqlStr">SQL语句</param>
        
/// <returns>结果集</returns>

        public ResultSetView ExecuteSqlLocal(string SqlStr,ResultSetView R)
        
{

            SqlCeConnection conn 
= new SqlCeConnection("Data Source =" + assemblyLocalFolder);

            
// 创建并配置 SqlCeCommand 对象
            SqlCeCommand cmd = conn.CreateCommand();
            cmd.CommandText 
= SqlStr;

            
// 创建 SqlCeResultSet 对象,并配置为可滚动、可更新、检测数据源更改
            ResultSetOptions options = ResultSetOptions.Scrollable |
                                                     ResultSetOptions.Sensitive 
|
                                                     ResultSetOptions.Updatable;
            SqlCeResultSet resultSet 
= cmd.ExecuteResultSet(options);

            
// 创建 ResultSetView 对象,配置为只显示序号为 1,3,5,8 的列
            ResultSetView resultSetView = resultSet.ResultSetView;
            
int[] ordinals = new int[] { 1, 3, 5, 8 };
            resultSetView.Ordinals 
= ordinals;
            R 
= resultSetView;
            
return resultSetView;
        }


        
/// <summary>
        
/// 在本地执行SQL
        
/// </summary>
        
/// <param name="SqlStr">SQL语句</param>
        
/// <returns>结果</returns>

        public bool ExecuteSqlLocal(string SqlStr)
        
{
            
try
            
{
                SqlCeConnection conn 
= new SqlCeConnection("Data Source =" + assemblyLocalFolder);
                SqlCeCommand cmd 
= conn.CreateCommand();
                cmd.CommandText 
= SqlStr;
                conn.Open();
                cmd.ExecuteNonQuery();
                
return true;
            }

            
catch
            
{
                
return false;
            }

        }


        
/// <summary>
        
/// 在服务器上执行Sql
        
/// </summary>
        
/// <param name="SqlStr">Sql语句</param>
        
/// <returns></returns>

        public bool ExecuteSqlServer(string SqlStr)
        
{
            
try
            
{
                SqlCeRemoteDataAccess rda 
= null;
                rda 
= new SqlCeRemoteDataAccess();
                rda.InternetUrl 
= InternetURL;
                rda.LocalConnectionString 
= "Data Source =" + assemblyLocalFolder;
                rda.SubmitSql(SqlStr,OleDbConnectString);
                
return true;
            }

            
catch
            
{
                
return false;
            }

        }


        
/// <summary>
        
/// 从服务器上下载表
        
/// </summary>
        
/// <param name="TableName">表名称</param>
        
/// <returns></returns>

        public bool DownloadTable(string TableName)
        
{
            
if (ExecuteSqlLocal("select * from " + TableName))
            
{//有这个表
                
//提交服务器更新
                if (!UPDateTable(TableName)) return false;
                
//删除这个表
                if (!ExecuteSqlLocal("drop table " + TableName)) return false;
            }

            
            
try
            
{
                SqlCeRemoteDataAccess rda 
= null;
                rda 
= new SqlCeRemoteDataAccess();
                rda.InternetUrl 
= InternetURL;
                rda.LocalConnectionString 
= "Data Source =" + assemblyLocalFolder;
                rda.Pull(TableName, 
"Select * from " + TableName, OleDbConnectString, RdaTrackOption.TrackingOnWithIndexes);//
                return true;
            }

            
catch
            
{

                
return false;
            }

        }


        
/// <summary>
        
/// 把更改好的表提交到服务器上
        
/// </summary>
        
/// <param name="TableName">表名</param>
        
/// <returns></returns>

        public bool UPDateTable(string TableName)
        
{
           
try
            
{
                SqlCeRemoteDataAccess rda 
= null;
                rda 
= new SqlCeRemoteDataAccess();
                rda.InternetUrl 
= InternetURL;
                rda.LocalConnectionString 
= "Data Source =" + assemblyLocalFolder;
                rda.Push(TableName, OleDbConnectString);
//
                return true;
            }

            
catch
            
{
                
return false;
            }


        }

    }

}

 
MFC属性网格控件(CMFCPropertyGridCtrl)完全指南:构建专业属性编辑界面 本文详细介绍了MFC中的CMFCPropertyGridCtrl控件的使用方法。主要内容包括:控件基础用法(初始化、添加属性、事件处理)、高级设置(自定义外观、创建属性类型、动态更新)、派生类实现(自定义绘制、搜索过滤功能)、界面集成技巧(对话框布局、属性编辑器)以及实际应用示例。文章重点讲解了如何通过继承和自定义实现复杂功能,并提供了性能优化、多语言支持等最佳实践方案。该控件适用于需要大量参数配置的应用程序,能够创建类似Visual Studio属性窗口的专业界面。 阅读详情

相关推荐

保姆级避坑指南:在Ubuntu 22.04上用ROS2 Humble搞定TurtleBot3的SLAM与导航(附5个常见报错解决方案)

本文提供了一份详细的Ubuntu 22.04上使用ROS2 Humble和TurtleBot3进行SLAM建图与导航的避坑指南,涵盖Gazebo启动失败、场景加载问题、环境变量设置、GLIBCXX版本冲突及Nav2参数配置等5个常见报错的解决方案,帮助开发者高效完成机器人导航项目。

weixin_29062823的博客 286

Mobile RDA 同步数据库的类--转

Mobile RDA 同步数据库的类--转 usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.Data; usingSystem.Data.SqlServerCe; usingSystem.IO; namespaceDataBaseCTLSpace ...{...

weixin_30505043的博客 101

Cocos Creator Android打包:NDK版本选择与配置全攻略

在Android原生开发中,NDK(Native Development Kit)是编译C/C++代码的核心工具链,它决定了代码如何被编译为不同CPU架构(如ARMv7、ARM64)的动态库。其工作原理在于提供了一套完整的交叉编译环境,将高级语言代码转化为设备可执行的二进制指令。这一技术对于游戏引擎和性能敏感型应用至关重要,因为它能直接调用硬件资源,提升运行效率。在实际工程中,NDK版本必须与Android Gradle插件(AGP)版本、项目依赖的C++标准库精密匹配,否则会导致编译失败或运行时崩溃。特别

weixin_33725270的博客 490

Mobile与PC机通过RDA同步

Mobile与PC机通过RDA同步 刚开始弄mobile系统,走了不少弯路,希望对入门者有帮助.上述软件过大,不便上传,有需要或者上面表述有不明白的,欢迎交流:307483267 RDA简介(引用) ------------ Microsoft SQL Server 20

ZHOUGE的专栏 1400

《生化危机9:安魂曲》D加密免BIOS破解方案详解

数字版权管理(DRM)技术通过加密手段保护软件版权,Denuvo(D加密)作为主流方案常应用于3A游戏。其原理是通过实时验证机制阻止未授权访问,但可能影响性能表现。本文以《生化危机9》为例,解析一种免BIOS修改的D加密绕过方案,该方案通过授权启动器模拟正版验证流程,保持系统零侵入性。实测表明,该方法在GTX 1060至RTX 3070等多硬件平台均能稳定运行,支持MOD扩展且兼容Reshade画质增强,为玩家提供开箱即用的绿色版体验。

weixin_33898233的博客 925

STM32N6:MCU+NPU架构如何重塑边缘AI部署新范式

STM32N6作为业界首款MCU+NPU架构的通用微控制器,通过集成600 GOPS算力的NPU与800MHz Cortex-M55内核,实现了边缘AI部署的革命性突破。该方案在工业视觉和智能家居等场景中,以超低功耗和成本提供实时AI处理能力,性能较传统MCU提升超100倍,重塑了边缘智能设备的设计范式。

g8f9d0s1a2的博客 1291

SQL Mobile 2005的Replication和RDA开发入门 FAQ

 SQL Mobile 2005的Replication和RDA开发入门 ---Level 300 活动日期: 2005-12-23 10:00 -- 11:30 主 讲: 马宁  ________________________________________Q:SQL Mobile 2005的Replication和RDA开发要具备哪些知识和工具?A:RDA是SQL Mobile的特有技术,不

aawolf = new Mobile.MVP 3728

DDR4 IP的用户接口

DDR4 IP核用户接口

bowen_wener的博客 1925

SQL Mobile的RDA数据同步开发

 目前很多软件厂商针对移动设备的数据库同步解决方案,这些方案主要分为两种:第一种,是针对某种特定数据库提供的数据同步方案,比如SQL Sever的RDA和Replication、Oracle Lite和Sybase SQL Anywhere等;第二种是ISV开发的针对不同数据库的数据同步方案。SQL Mobile支持两种数据同步的方法:Remote data access(RDA)和Repli

I-soft 1660

微信小程序一键跳转公众号(使用 official-account 组件)

在当今移动互联网时代,用户体验已成为应用成功的关键因素之一。微信小程序作为一种便捷的应用形式,广泛应用于各个行业,为用户提供了丰富的服务和信息。然而,如何进一步提升用户体验,使其在小程序中能够更方便地获取相关信息,成为开发者需要关注的重要课题。实现一键跳转到公众号的功能,正是一个有效的解决方案。通过这一功能,用户可以轻松访问公众号,获取更多内容和服务,从而增强与品牌的互动和粘性。本文将详细介绍如何在微信小程序中实现这一功能,并提供相关的操作步骤和注意事项。

不迁怒,不贰过。小知识,大智慧。 3127

【华为OD机试真题 2025C卷新题】855、识文断句 | 机试真题+思路参考+代码分析(C++、Java、Py、C语言、JS)

【华为OD机试真题 2025C卷新题】855、识文断句 | 机试真题+思路参考+代码分析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何备战华为

KJ.JK 1851

SQL Server Mobile 学习(三):SQL Server Mobile 远程数据访问(RDA)

1. RDA简介2. 需求及配置3. RDA 对象方法4. RDA 代码示例======================1. RDA简介------------Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile) 中的远程数据访问 (RDA) 允许应用程序从远程 SQL Server 数据库表中访问数据,并将数据存储到本地 SQL

人生长恨水长东 496

uniapp - 热更新提示:WGT安装包中manifest.json文件不存在 | unexpected EOF!报错详细解决,完美搞定WGT安装包中WWW目录下manifest.json不存在问题

uniapp,安卓android,苹果ios,热更新,热更新code:-1202报错,,WGT热更新报错,uniapp热更新wgt出现报错manifest.json文件不存,uniapp安卓苹果软件热更新时出现错误unexpected EOF!如何解决,怎么解决热更新wgt报错,app新版本下载安装报错WGT安装包中manifest.json文件不存在,WGT安装包中WWW目录下manifest.json不存在,uniapp热更新报错安装失败[-1201]:WGT/WGTU文件格式错误,uniapp-wgt

✅ 精选推荐文章 1万+

Window Mobile RDA数据库操作解决方案研究

Window Mobile RDA数据库操作解决方案研究一、RDA (Remote Data Access ) 远程数据访问    简单介绍:远程数据访问 (RDA) 使移动应用程序能够访问远程 SQL Server 数据库表中的数据,并将这些数据存储在本地 SQL Server Mobile 数据库表中。随后,该应用程序就可以读取和更新本地 SQL Server Mobile 数据库表。

Tech is Online(物联网技术传播) 3393

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

RDA简介

1. RDA简介------------Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile) 中的远程数据访问 (RDA) 允许应用程序从远程 SQL Server 数据库表中访问数据,并将数据存储到本地 SQL Server Mobile 数据库表中。随后,应用程序可以读取和更新本地 SQL Server Mobile 数...

weixin_30764883的博客 1498

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

[转]SQL Server Mobile 学习(三):SQL Server Mobile 远程数据访问(RDA)

1. RDA简介2. 需求及配置3. RDA 对象方法4. RDA 代码示例======================1. RDA简介------------Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile) 中的远程数据访问 (RDA) 允许应用程序从远程 SQL Server 数据库表中访问

590

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Windows Mobile SQL Ce与SQL Server 的RDA

Windows Mobile SQL Ce与SQL Server 2000的RDA RDA实现SQL CE与SQL Server间数据存取 PPC程序与桌面PC进行通信的编程方式目前有两种,1、利用Socket编程与桌面程序进行通信;2、利用RDA和Replication(复制)进行数据库编程来完成与桌面SQL Server数据库的存取。利用Socket编程实际上就是通过TCP/IP协

舊日的足跡 2612

Sql Server 2005 与Sql Server Mobile(Sql server 2005 mobile Edition)数据同步步骤以及问题解决方案

<br />  目前很多软件厂商针对移动设备的数据库同步解决方案,这些方案主要分为两种:第一种,是针对某种特定数据库提供的数据同步方案,比如SQL Sever的RDA和Replication、Oracle Lite和Sybase SQL Anywhere等;第二种是ISV开发的针对不同数据库的数据同步方案。<br />SQL Mobile支持两种数据同步的方法:Remote data access(RDA)和Replication。这两种方法都支持从远程的SQL Server服务器中下载数据到设备端的SQL

大模型大数据攻城狮的专栏 3635

webcast(SQL Mobile 2005的RDA和Replication入门)学习笔记

前言:       关于window移动应用开发的网络资源很多,webcast就是其中很好的学习资料,微软免费开放这些教程目的就是为了让我们这些刚刚入门的初学者能够更迅速地跨过这个门槛,当然门槛后面还有更丰富的内容有待我们去探索。关于windows mobile的webcast很多,粗略数了下不包括最近新出的有将接近百个,如果按照两天一个视频的速度的话,也得小半年才能看得完,但我们不可能老耗在这...

weixin_34249367的博客 210
上一篇: mobile Socket连接PC 的类
下一篇: 两个类的事例代码
Channels_net
博客等级 码龄22年 12粉丝 28原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值