WinCE下SQLCE数据库开发(VS,VB.net,VC++)
WinCE下SQLCE数据库开发
微软的SQL Server数据库由于其功能强大、方便使用,因此在很多行业都被广泛应用。基于智能设备,微软推出了SQL Server的精简版SQL Server FOR CE,简称为SQLCE。SQLCE的推出,使得人们在移动设备、嵌入式设备上可以享受SQLServer高性能的数据库服务。本文就WinCE嵌入式系统下的SQLCE数据库开发展开讨论,SQLCE功能全面,支持ADO.NET和OLE DB Provider For SQLCE ,用VS2005开发工具分别就这两种方式给出开发的概要步骤。
一、Visual Basic语言ADO.NET开发SQLCE数据库
VS2005安装好以后,就可以基于Visual Basic语言开发智能设程序了,安装SSCE31SDK-CHS.msi后,在C:\Program Files\Microsoft SQL Server CompactEdition\v3.1\SDK\bin\wce500下才能找到System.Data.SqlServerCe.dll,这样以后在vb2005中添加对它的引用,才能应用Imports System.Data.SqlServerCe命名空间
'以下为创建数据库的基本代码:
Dim conn As NewSqlCeConnection() '数据库连接以及结果集变量
DimsqlEngine As NewSqlCeEngine("Data Source = " &path & "time_data.sdf")'path文件路径
sqlEngine.CreateDatabase()
Dimcmd As NewSqlCeCommand("CREATE TABLE test_data(data_ID intPrimary Key NOT NULL, temp1 nvarchar(20),temp2 nvarchar(20))",conn)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
'向数据库中插入记录:
Public Sub InsertValues(ByValstr1 As String,ByVal str2 As String)
Dim cmd As New SqlCeCommand("",conn)
conn.Open()
cmd.CommandText= "INSERT INTO test_data(data_ID, temp1, temp2)VALUES (@data_ID,@ temp1,@ temp2)"
cmd.Parameters.Add("@data_ID", SqlDbType.Int).Value =insert_num
cmd.Parameters.Add("@temp1",SqlDbType.NVarChar).Value = str1
cmd.Parameters.Add("@temp2", SqlDbType.NVarChar).Value =str2
cmd.ExecuteNonQuery()
conn.Close()
insert_num = insert_num + 1
End Sub
cmd.CommandText = "INSERT INTO Phone(data_ID,temp1,temp2) VALUES (0001,'128.6',175.6)"
cmd.ExecuteNonQuery() '或者用这两句来完成
conn.Open() '修改数据库记录
Dim cmd As New SqlCeCommand("UPDATE Phone SET Name='Hello', Number='87654321'WHERE Name='abcde' AND Number='12345'", conn)
cmd.ExecuteNonQuery()
conn.Close()
conn.Open() '删除数据库记录
Dim cmd As New SqlCeCommand("DELETE FROM Phone", conn)
cmd.ExecuteNonQuery()
conn.Close()
Dim ds1 As New DataSet() '读取数据库记录,先将要读的记录做成新表,填充到DataSet类对象中
Dim selectCmd As SqlCeCommand = conn.CreateCommand()
selectCmd.CommandText = "SELECT * FROM test_data"
Dim adp As New SqlCeDataAdapter(selectCmd)' Note: Fill will leave the connection in its originalstate;' In this case, the connection was closed so it will be left closed
adp.Fill(ds1)
conn.Close()
If ds1.Tables(0).Rows.Count> 0 Then
Dim i As Integer
For i = 0 Tods1.Tables(0).Rows.Count - 2
Dim read_temp1 AsSingle =Convert.ToSingle(ds1.Tables(0).Rows(i).Item(1))
Dim read_temp2 AsSingle =Convert.ToSingle(ds1.Tables(0).Rows(i).Item(2))
i = i + 1 '可以用这样的语句,跳跃读取需要的记录
Next
End If
二、Visual C++语言ADO.NET访问SQLCE数据库
WinCE系统下用C++语言开发SQLCE数据库,用到的是OLEDB编程,但是比较复杂。OLE DB编程是通过COM方式提供一组接口,应用这些接口可以访问SQLCE,主要参考SQLCE3.0 自带的NorthwindOleDb示例。NorthwindOleDb是一个Visual C++ for Devices示例应用程序,它演示了如何使用OLE DB创建SQLServer 2005 Mobile Edition 数据库并与该数据库进行交互,且有图片元素,更多的参考文件1中第九章的内容。
参考文献
[1] 汪兵.Windows CE 嵌入式高级编程与实例详解(用C++实现),[M].中国水利水电出版社,2008
WinCE下SQLCE数据库开发(VS,VB.net,VC++)的更多相关文章
- Wince下sqlce数据库开发(二)
上次写到使用数据绑定的方法测试本地sqlce数据库,这次使用访问SQL Server的方法访问sqlce,你会发现他们是如此的相似... 参考资料:http://www.cnblogs.com/rai ...
- Wince下sqlce数据库开发(一)
对于Wince下的sqlce数据库虽然很多人在用,但在我查找资料时,却发现资料是多么的匮乏,在此对自己这几天的了解做个简单介绍,希望对大家能有所帮助! 本文的最后附有所使用到的sqlce在wince下 ...
- Visual Studio下SQLite数据库开发环境设置
由于我们介绍的内容都是基于微软的Visual Studio下开发的Win32平台,所以下边我们介绍Visual Studio下SQLite数据库开发环境设置.具体而言我们有两种方式可以在Visual ...
- SD card技术了解并WINCE下SDHC驱动开发(updated)
Suumary: 简单介绍了一下SD卡的历史和发展,同时结合MX31 ADS上的WINCE 下SDHC驱动更深入的了解该硬件的一些行为特点. 了解SD card SD是Secure Digital C ...
- 推荐linux下的数据库开发工具DBeaver 开源免费
linux下不错的数据库管理工具 DBeaver 操作比较友好,基于eclipse.使用jdbc链接,链接数据库非常全(oracle mysql mssql sqlite 常见的统统支持).而且可以 ...
- 应用AXIS开始Web服务之旅(soap web services)——使用三种不同的语言访问创建的Web服务,分别是JAVA、VB、VC
一. 介绍 本文并不是想介绍Web服务的原理.系统架构等,我们假设您已经了解了关于Web服务的一些基本的概念.原理等知识.本文主要是针对那些已经了解Web服务概念,但是还没有亲身体会Web服务所带来令 ...
- WinCE下的串口通信开发(VS2005,VB.Net,VC++)
WinCE下的串口通信开发(VS2005,VB.Net,VC++) WinCE下的串口通信开发 一.利用Visual Basic 开发很简单,因为有现成的控件可以直接调用 以VS2005为例,首先 ...
- 在Window Embedded CE(Wince)下使用OpenNETCF进行路由表的开发
点击打开链接 背景 在开发3G项目的是时候,发现尽管3G网络连接已经建立成功了,但是数据不能发送成功,查明原因,由于路由表的问题,导致数据往ActiveSync连接的对端,也就是PC发送,而不是发送到 ...
- 嵌入式系统WinCE下应用程序GUI界面开发【转】
嵌入式系统WinCE下应用程序GUI界面开发 ByToradex 秦海 本文旨在介绍嵌入式系统在Wince下进行GUI应用程序开发可以选择的不同GUI开发框架(Framework),目前最常用的几种方 ...
随机推荐
- Filter内容
1.利用Filter来过滤的时候大都是Http请求和Http响应,在doFilter()方法中,参数类是ServletRequest和ServletResponse ,使用的时候一般需要强制转换为H ...
- Java 集合类常用方法
Collection中的contains()方法和remove()方法. boolean contains(Object o);该方法是用来判断集合中是否包含某个元素,若包含,返回true,不包含返回 ...
- App Not Responsing
参见原文:http://rayleeya.iteye.com/blog/1955657 inputDispatchingTimedOut contentProviderNotResponsing se ...
- 深入理解jQuery插件开发总结(四)
jQuery插件开发模式 软件开发过程中是需要一定的设计模式来指导开发的,有了模式,我们就能更好地组织我们的代码,并且从这些前人总结出来的模式中学到很多好的实践. 根据<jQuery高级编程&g ...
- cookie结合js 实现记住的拖拽
哈喽!!!我胡汉三又回来啦!!!有木有记挂挪啊!咱们今天说一个 cookie结合JS的小案例哦! 话不多说直接上代码: <!DOCTYPE html> <html> <h ...
- roadflow asp.net core版工作流引擎更新发布
ROADFLOW CORE (.NET CORE工作流引擎)更新说明 1.RoadFlow全新工作流平台采用.NET CORE 2.1重构,结构更简单,逻辑梳理更清析,性能有了很大的提升. 2.表单设 ...
- hdu 1102 Constructing Roads (Prim算法)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1102 Constructing Roads Time Limit: 2000/1000 MS (Jav ...
- C# Winform窗体和控件自适应大小
1.在项目中创建类AutoSizeForm AutoSizeForm.cs文件代码: using System; using System.Collections.Generic; using Sys ...
- SpringBoot开发(改变环境属性、读取资源文件、Bean 配置、模版渲染、profile 配置)
1.概念 SpringBoot 开发深入 2.具体内容 在之前已经基本上了解了整个 SpringBoot 运行机制,但是也需要清楚的认识到以下的问题,在实际的项目开发之中,尤其是 Java 的 MVC ...
- 【Udacity】朴素贝叶斯
机器学习就像酿制葡萄酒--好的葡萄(数据)+好的酿酒方法(机器学习算法) 监督分类 supervised classification Features -->Labels 保留10%的数据作为 ...