SQLCE2.0经验总结

SQLCE 3.5 SP2 与 SQL SERVER 语法异同 有一次在 SQLCE 3.5 SP2  中执行下列语句: SELECT Name = case cap_type when 'E' then given_name else chinese_name end FROM cap WHERE cap_no = '1' 提示以下错误: 主要错误 0x80040E14,次要错误 25 阅读详情
 

一:注意每次操作SQLCE前都Close一次,因为SQLCE2.0只支持一个连接;

二:检测数据库里是否存在某个表用:select table_name from Information_Schema.Tables;

三:SQLCE2.0 不支持存储过程、触发器等,都要用SQL来实现;

四:从XML转换过来的时间要转换一下:

        DateTime dt_c2 = DateTime.Parse(xn.ChildNodes[19].InnerXml);

        dt_c2.ToString("G"), //集装箱作业时间

五:SQLCE的字段类型和SQL Server的不一样,具体见SQLCE帮助文档

六:SQLCE不支持Distict 、top 等函数,Distinct可以用GroupBy来实现

七:SQLCE不支持如下语句:

select 'RT' = case when rt1 is not null then rt1 else '' end +
case when rt2 is not null then rt2 else '' end +
case when rt3 is not null then rt3 else '' end +
case when rt4 is not null then rt4 else '' end +
case when rt5 is not null then rt5 else '' end +
case when rt6 is not null then rt6 else '' end +
case when rt7 is not null then rt7 else '' end
from ct_bay

现在是用程序来实现连接的

八:数据库操作部分:

// execute sql, returns first column in first row as an int
  private int ExecuteScalarInt(string sql)
  {
   int result = 0;
   object o = this.ExecuteScalar(sql);
   if (o != System.DBNull.Value)
    result = Convert.ToInt32(o);
   return result;
  }

  // execute sql, returns first column in first row as a string
  private string ExecuteScalarString(string sql)
  {
   string result = String.Empty;
   object o = this.ExecuteScalar(sql);
   if (o != System.DBNull.Value)
    result = Convert.ToString(o);
   return result;
  }

  // execute sql, returns DataSet with result of query
  // uses specified tableName for table in DataSet
  private DataSet Execute(string tableName, string sql)
  {
   DataSet ds = new DataSet();
   try
   {
    SqlCeDataAdapter da = GetAdapter(sql);
    da.Fill(ds, tableName);
   }
   catch (SqlCeException ex)
   {
    HandleError(ex);
   }
   catch (Exception ex)
   {
    HandleError(ex);
   }
   return ds;
  }

  // execute sql, returns number of rows affected
  protected internal int ExecuteNonQuery(string sql)
  {
   int count=0;
   try
   {
    SqlCeCommand cmd = GetCommand();
    cmd.CommandText = sql;
    count = cmd.ExecuteNonQuery();
   }
   catch (SqlCeException ex)
   {
    HandleError(ex);
   }
   catch (Exception ex)
   {
    HandleError(ex);
   }
   return count;
  }

  private SqlCeDataReader ExecuteDataReaderSingleRow(string sql)
  {
   try
   {
    SqlCeCommand cmd = GetCommand();
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = sql;
    m_dtr = cmd.ExecuteReader(CommandBehavior.SingleRow);
   }
   catch (SqlCeException ex)
   {
    HandleError(ex);
   }
   catch (Exception ex)
   {
    HandleError(ex);
   }
   return m_dtr;
  }

  // execute sql, returns the first column of the first row
  private object ExecuteScalar(string sql)
  {
   object result=null;
   try
   {
    SqlCeCommand cmd = GetCommand();
    cmd.CommandText = sql;
    result = cmd.ExecuteScalar();
   }
   catch (SqlCeException ex)
   {
    HandleError(ex);
   }
   catch (Exception ex)
   {
    HandleError(ex);
   }
   return result;
  }


  //
  // private helper functions
  //

  private void OpenConnection()
  {
   // make sure we have open connection
   if (m_con == null)
    m_con = new SqlCeConnection(@"Data Source=/Program Files/ChinaTallyPDACSharp/ChinaTallyDB.sdf;");

   if (m_con.State == ConnectionState.Closed)
    m_con.Open();
  }
  

  // return command object
  private SqlCeCommand GetCommand()
  {
   OpenConnection();

   // create command object
   if (m_cmd == null)
   {
    m_cmd = new SqlCeCommand();
    m_cmd.Connection = m_con;
    m_cmd.CommandType = CommandType.Text;
   }
  
   m_cmd.CommandText = String.Empty;
   return m_cmd;
  }
 
  // return data adapter
  private SqlCeDataAdapter GetAdapter(string sql)
  {
   // make sure we have open connection
   if (m_con == null)
    m_con = new SqlCeConnection(@"Data Source=/Program Files/ChinaTallyPDACSharp/ChinaTallyDB.sdf;");

   if (m_con.State == ConnectionState.Closed){
    try{
     m_con.Open();
    }
    catch(SqlCeException ex){
                    throw ex;
    }
   }
   SqlCeDataAdapter scda = new SqlCeDataAdapter(sql, m_con);
   return scda;
  }

 

http://blog.youkuaiyun.com/zhaojiangang/article/details/4051549

基于VS2008的Wince系统的SQLCE3.5数据库开发应用实例 1.       概述 SQLCE3.5数据库安装以及扬创科技嵌入式WinCE工业平板电脑SQLCE和SQLServer数据库同步配置;安装步骤依次为IIS安装、客户端安装、服务端安装。 2.       SQLCE数据库的使用 SQLCE简介     微软推出SQLSEVER数据库,功能强大,使用方便。其针对嵌入式设备的版本为SQL SEVER FOR CE,,简称SQLCE。    阅读详情

相关推荐

WINCE4.2+sqlce1.0程序移植到WINCE5.0中的过程记录

公司要将wince4.2+sqlce1.0的程序换到wince5.0的平台。 经过了两天的折腾,总结一下遇到的几个问题。 1、原先的程序使用VS2003+.net framework1.1编译,在WINCE5.0平台上无法正常运行。 原因是VS2003和WINCE5.0不兼容,需要将开发平台升级到VS2005。 2、VS2005平台默认不支持.net cf framework1.1所以,需

Jogholy的专栏 797

PDA项目 SQL CE 数据库注意事项

 一:注意每次操作SQLCE前都Close一次,因为SQLCE2.0只支持一个连接; 二:检测数据库里是否存在某个表用:select table_name from Information_Schema.Tables; 三:SQLCE2.0 不支持存储过程、触发器等,都要用SQL来实现; 四:从XML转换过来的时间要转换一下:         DateTime dt_c2 = Da

Deboy Wang 的.NET之路 1034

SQLCE数据库的使用入门

SQLCE 3.0的版本可以到微软官方网站下载,也有新一些的3.5的版本,不过好像3.0的版本用的较多,网上的一些资料例子也大多针对3.0的版本。其中sqlce30.wce5,armv4i.CAB是SQLCE 3.0的核心安装文件,sqlce30.repl.wce5.arm4i.CAB主要提供复制,订阅等相关服务,sqlce30.dev.CHS.wce5.arm4i.CAB是安装一个SQLCE查询分析器。然后在如下图的对话框中,“共享”输入\\计算机名\\snapshot,点击“Next”。

chenggong9527的博客 735

【转】MySQL 八股文

转自: https://mp.weixin.qq.com/s/c-sy7tM0BmrqMUQFW7C65g 一、 基础篇 1、关系型和非关系型数据库的区别? 关系型数据库的优点: 容易理解,因为它采用了关系模型来组织数据; 可以保持数据的一致性; 数据更新的开销比较小; 支持复杂查询(带 where 子句的查询)。 非关系型数据库(NoSQL)的优点: 无需经过 SQL 层的解析,读写效率高; 基于键值对,读写性能很高,易于扩展; 可以支持多种类型数据的存储,如图片、文档等; 扩展(可分为内存型数据

小楠的博客 1571

Delphi环境下SQLCE数据库应用指南

SQL Server Compact Edition(简称SQLCE)是一种轻量级的关系数据库管理系统,专门设计用于移动和桌面应用程序。它由微软公司开发,旨在为资源受限的设备提供高性能、低开销的数据库解决方案。SQLCE适用于各种Windows平台,包括Windows CE、Windows Mobile、以及桌面操作系统如Windows 7及以上版本。

weixin_36197669的博客 709

步进电机

步进电机

happygrilclh的博客 2140

八股文四(sql篇)

八股文4 - SQL篇

优秀的颜的博客 1630

LM Studio Bionic:本地AI智能体从部署到实战完整指南

AI智能体作为能够自主规划、执行多步任务的人工智能系统,其核心原理在于结合大语言模型的推理能力与工具调用机制。通过状态保持和任务分解算法,智能体实现了从单次问答到持续协作的技术跃迁。在工程实践中,这种架构显著降低了复杂任务自动化的门槛,特别适用于数据敏感场景和定制化需求。以Tesla V100等专业硬件为例,本地部署能充分发挥其大显存优势,支持更高精度的模型量化格式。在实际应用层面,智能体可无缝集成到代码审查、文档生成等开发工作流中,而LM Studio Bionic通过统一界面整合了模型服务、任务规划器等

weixin_29053695的博客 654

MySQL 八股文知识大全(面试+复习必备)

本文整理了 MySQL 最核心的八股文内容,涵盖范式、SQL 执行流程、存储引擎、索引、事务等各大模块,适合用于面试前复习与系统性学习。

YTHX516的博客 8382

【Tessent Shell Users Manual】【Ch3】Design Introspection and Editing(未完待续)

Tessent Shell 提供了一系列用于检查(examining/introspecting)和编辑design的命令。

Tranquil_ovo的博客 1731

首个基于LBS方案的3D传感器,VoxelSensor解析

该传感器将结合OQmented的Lissajous模式的MEMS扫描镜,与每帧逐行工作的光栅扫描相比,Lissajous轨迹扫描速度更快,并且能耗很低,它可以更快地捕获完整的场景和快速移动,并且需要更少的数据处理,可满足AR/VR对于低延迟、高效率的需求。简单来讲,Switching Pixels的区别是专注于识别激光事件,性能比普通事件相机更好,但也可以使用事件相机的算法。在具体应用中,它需要在X和Y方向发射一个或多个脉冲光束,以在X和Y轴上定位,而Z轴,也就是深度,则是通过计算光返回的时间来测量。

qingtingwang的博客 576

Mysql 面试八股文

文章目录1.说一说三大范式2.MyISAM 与 InnoDB 的区别是什么?3.为什么推荐使用自增 id 作为主键?4.一条查询语句是怎么执行的?5.使用 Innodb 的情况下,一条更新语句是怎么执行的?6.Innodb 事务为什么要两阶段提交?7.什么是索引?8.索引失效的场景有哪些?9.为什么采用 B+ 树,而不是 B-树10.WAl 是什么?有什么好处?11.什么是回表?12.什么是索引下推?13.什么是覆盖索引?14.什么是最左前缀原则?15.普通索引和唯一索引该怎么选择?16.什么是事务?其特性

study_665的博客 6286

重磅!Repo Wiki!

RepoWiki是Qoder平台的智能文档生成功能,通过静态代码分析自动提取项目架构、模块依赖和核心逻辑,并持续追踪代码变更保持文档同步。其工作流程分为四个阶段:1)代码扫描与AST解析;2)结构分析与依赖映射;3)文档智能生成;4)增量更新机制。支持多种编程语言,能识别设计模式并推断技术决策,适用于新项目搭建和遗留系统维护。优势在于降低理解成本和提高开发效率,但存在文件数量限制和依赖Git的局限性。典型应用场景包括自动生成架构图、API手册和团队知识沉淀。

ayusong870的博客 4028

SQLCE经验总结

一:注意每次操作SQLCE前都Close一次,因为SQLCE2.0只支持一个连接; 二:检测数据库里是否存在某个表用:select table_name from Information_Schema.Tables; 三:SQLCE2.0 不支持存储过程、触发器等,都要用SQL来实现; 四:从XML转换过来的时间要转换一下: DateTime dt_c2 = DateTime.Pa

gooodiuck的专栏 1422

深入解析TI C2000 ePWM模块:峰值电流模式Buck与LLC谐振变换器实战配置

脉宽调制(PWM)技术是电力电子与数字电源控制的核心,它通过调节开关信号的占空比或频率,实现对功率变换器输出电压、电流的精确控制。其基本原理是利用微控制器内部的定时器和比较器,生成具有特定时序的方波信号,驱动功率开关器件。这项技术的核心价值在于将复杂的模拟控制环路数字化,从而提升系统的可控性、灵活性和可靠性。在电机驱动、不间断电源(UPS)、服务器电源和新能源逆变器等广泛应用场景中,PWM技术都是实现高效能量转换的基石。本文聚焦于德州仪器(TI)C2000系列微控制器中功能强大的增强型PWM(ePWM)模块

weixin_30410119的博客 346

西门子S7-1200控制伺服/步进电机方法与接线(全)

西门子S7-1200控制伺服/步进电机方法与接线(全) 伺服/步进电机在非标自动化控制中十分常用,但作者发现在各类开源网站上很少有人做西门子1200PLC控制伺服/步进电机的教程,于是今天想着跟大家分享一下。 本文共分为一下几个四个内容。 文章目录西门子S7-1200控制伺服/步进电机方法与接线(全)前言一、准备二、接线1.PLC接线:2.伺服接线:3. 步进电机的接线:三、代码组态代码四、可能出现的问题 前言 工程控制常用到三项异步电机、直流电机等,但他们都无法准确的控制电机角度;于是有了步进电机、

weixin_46060068的博客 7万+

如何使用update.exe工具升级一个sqlce1.0/2.0的sdf文件到sqlce3.0

今天写一个Datagrid读取sqlce数据库的小程序,利用一个现有的数据库sdf文件,结果遇到问题,原来这个数据库文件是sqlce2.0的,于是查询如何升级为sqlce3.0的,最终发现只能把update.exe和*.sdf文件拷贝到设备上才能完成升级!详细参考文章:http://msdn2.microsoft.com/en-us/library/ms173006.aspx

严超 2.0 菠萝阁 2702

什么是信噪比?信噪比越大好还是越小好?

在进行声音增强的时候,往往需要考虑声音信号和噪声的信噪比,那么信噪比是什么呢?越大越好还是越小越好,此处引入百度百科的解读: 信噪比,英文名称叫做SNR或S/N(SIGNAL-NOISE RATIO),又称为讯噪比。是指一个电子设备或者电子系统中信号与噪声的比例。这里面的信号指的是来自设备外部需要通过这台设备进行处理的电子信号,噪声是指经过该设备后产生的原信号中并不存在的无规则的额外信号(或信息),并且该种信号并不随原信号的变化而变化。 同样是“原信号不存在”还有一种东西叫“失真”,失真和噪声实际上有一

码匀的博客 7万+

基于sqlCE 3.0的数据库开发

最近想使用一下在WinCE连接SQL Server 2005数据库的实例。此前一直安装的是Visual c++ 6.0以及EVC 4.0,一直犹豫是否要安装Visual Studio 2005这个宏大的家伙。但是在网上查了一下,多数与WinCE 5.0及SQLCE3.0的相关例程和文章都是用VS开发的,看来不得不安装这个了。折腾了一下,还是把Visual Studio 2005安装上了,其实这个里

u010141129的专栏 668

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

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

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SQLCE 3.0

✅ SQLite(适合嵌入式) ✅ LiteDB(C# Native) ✅ SQL LocalDB(简化版 SQL Server)

lydstory123的专栏 377

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SQLCE 2.0 中建立数据表时的BUG

我在一个PPC上用SQL CE 2.0建数据表时发现: 字段名不能为"Order" , 否则不论从PPC上的SQLCE Query 还是从代码都无法成功建立数据表, 不知道这算不算一个BUG.

小誉的专栏 670

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

SqlCe和SQLite的对比试验、结论

前端时间做WINCE手持机应用时,用到了SQLCE,在SQL CE的数据流读写里头,我想插入数据,就直接把数据插入进去: 1        public static void InsertIntoSqlCe() 2        { 3            for (int i=0;i 4            { 5                SqlCeHelper.Execu

baifucn的专栏 2198

SQLCE数据库的使用

 SQLCE数据库的使用(一) SQLCE简介       微软推出SQL SEVER数据库,功能强大,使用方便。其针对嵌入式设备的版本为SQL SEVER FOR CE,,简称SQLCE。       SQLCE 3.0的版本可以到微软官方网站下载,也有新一些的3.5的版本,不过好像3.0的版本用的较多,网上的一些资料例子也大多针对3.0的版本。为了开发更方便些,建议用3.0

Windows CE学习与开发 7902

sqlite和sqlce性能对比

前端时间做WINCE手持机应用时,用到了SQLCE,在SQL CE的数据流读写里头,我想插入数据,就直接把数据插入进去: 1        public static void InsertIntoSqlCe() 2        { 3            for (int i=0;i 4            { 5                SqlCeHelper.Execu

gooodiuck的专栏 1892
上一篇: svn报错:ra layer request failed
下一篇: 一个实例掌握linq to XML增查删改
sukyle
博客等级 码龄18年 41粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值