首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
嵌入式技术
» SQL CE数据库的C#编程
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
SQL CE数据库的C#编程
发短消息
加为好友
emtronix20105
当前离线
UID
811198
帖子
72
精华
0
积分
36
阅读权限
0
在线时间
21 小时
注册时间
2010-5-5
最后登录
2010-10-31
禁止访问
UID
811198
1
#
打印
字体大小:
t
T
emtronix20105
发表于 2010-9-19 13:16
|
只看该作者
SQL CE数据库的C#编程
数据库
,
SQL
本帖最后由 yumuzi 于 2010-9-19 15:47 编辑
基于WinCE操作系统的ARM9系列嵌入式网络模块(如EM9000),自英创公司推出以来,以其稳定可靠的运行性能、完善的硬件接口、方便的开发工具(VC或VS.NET),在各个行业得到了广泛的应用。由于微软的最新开发工具Visual Studio.NET 2005支持使用C#语言进行应用开发,客户可以更方便地构筑应用界面并调用方便可靠的API,越来越多的客户选用它作为嵌入式设备开发调试工具。在应用中,客户经常要使用到嵌入式本地数据库进行数据库建立、数据查询、删除等功能,针对此情况,我们在此对使用C#2005进行SQL CE 2.0本地数据库开发进行介绍,并提供相应的例程。
客户在进行SQL CE数据库开发之前应已满足如下条件:
1、确认其使用的ARM9模块支持SQL CE数据库开发。(客户如无特殊配置要求,英创ARM9系列模块均缺省支持SQL CE 2.0数据库)
2、开发主机已经安装了Visual Studio.NET 2005
3、客户已经阅读过英创相关文档《使用VS2005连接和调试英创ARM9嵌入式模块》,并能成功地使用C#进行程序的连接和调试
作为SQL CE开发的必要条件,必须在安装了VS.NET 2005的开发主机上安装Microsoft .NET Compact Framework SP2。该程序可在Microsoft网站上免费下载。英创开发光盘的【SOFTWARE\CSharp2005\CSharp软件工具】目录下也提供了此程序,程序名NETCFSetupv2(sp2).msi,双击运行它即可进行安装,安装过程按照其提示的缺省选择即可。
安装完毕后,即可进入程序的开发。客户按照《使用VS2005连接和调试英创ARM9嵌入式模块》的步骤创建工程项目后,要想在本项目中操作数据库,首先要添加对System.Data.SqlServerCe.dll动态链接库的引用,步骤如下:
1、在集成开发环境中,对“解决方案资源管理器”中的“引用”单击右键,并单击“添加引用”。
2、在弹出的“添加引用”对话框选项卡里选“浏览”,并查找目录【C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v2.0】,可以看到System.Data.SqlServerCe.dll,选择它并“确定”。
3、可以看到“解决方案资源管理器”中的“引用”下已经添加了对System.Data.SqlServerCe的引用。
但是光是在“解决资源管理器”的“引用”下添加还不行,还必须在程序的起始using语句中添加:using System.Data.SqlServerCe; 语句,应用程序才能直接调用相关的类和函数。
英创公司提供了一个小型但是基本功能具备的C#应用程序源代码供客户参考,客户可以在应用光盘的如下目录找到这个工程:【SOFTWARE\CSharp2005\SQLCE_001】,里面有比较详细的注释供客户参考,客户在参考本程序之前可以先将此程序进行编译下载并在目标系统上运行,本例程在目标板上运行的界面如下:
程序界面及功能说明
四个功能按钮:
● 数据库及表创建按钮:创建名称为Leedata.sdf的数据库,并在数据库下建立一个Products表;创建完毕后按钮自动灰化。
● 插入记录按钮:在Products表里插入8条固定内容的产品记录;插入后按钮自动灰化。
● 执行查询按钮:将Products表里8条记录的产品名称Name字段读出,并将其作为选择项显示在下拉菜单框里;完毕后,显示缺省选中记录的各个字段到文本框;执行后按钮自动灰化。
● 删除记录按钮:将当前选中显示的记录从Products表中删除;删除完毕后程序会自动重新载入下拉菜单,并重新载入缺省记录显示;当8条记录均被删除完毕Products成为空表后,本按钮自动灰化,并激活插入记录按钮。
一个下拉菜单框:载入Products表里各条记录的产品名称Name字段,并供用户选择查询。
五个文本框:显示当前被选中记录的各项字段值。
需要注意的语言点
1、AppPath=System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase.ToString()); ///获取当前目录路径
2、SqlCeEngine eng = new SqlCeEngine('Data Source=' + slocalDatabaseName);
eng.CreateDatabase();
///创建数据库,在SQL CE里只能通过此方法创建数据库
3、SqlCeConnection localConnection = new SqlCeConnection('Data Source=' + slocalDatabaseName);
localConnection.Open();
///连接打开数据库
4、SqlCeCommand cmdCmd = new SqlCeCommand(SQL语句字符串, localConnection);
cmdCmd.CommandType = CommandType.Text;
cmdCmd.ExecuteNonQuery();
///进行一次SQL操作的通用方法
5、SqlCeDataReader dr;
SqlCeCommand cmdGetData = new SqlCeCommand('SELECT 字段 FROM 表', localConnection);
dr = cmdGetData.ExecuteReader();
while (dr.Read()){…}
///查询方法的一种
6、SqlCeCommand cmdGetData = new SqlCeCommand();
SqlCeDataReader dr;
cmdGetData.Connection = localConnection;
cmdGetData.CommandType = CommandType.TableDirect;
cmdGetData.CommandText = 表;
cmdGetData.IndexName = 某字段的索引名;
dr = cmdGetData.ExecuteReader();
dr.Seek(DbSeekOptions...., ...);
if (dr.Read()) {...}
///又一种查询方法
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议