Wince下sqlce数据库开发(二)
上次写到使用数据绑定的方法测试本地sqlce数据库,这次使用访问SQL Server的方法访问sqlce,你会发现他们是如此的相似。。。
参考资料:http://www.cnblogs.com/rainman/archive/2012/03/13/2393975.html
本文的最后附有本次测试的全部代码,大家可以去下载。当然,我更希望这里作为一个交流的平台,能够相互的学习,如果你们有其他的想法希望可以告诉我
注:开发环境VS2008 开发语言:C#
1.创建Wince下的Winform窗体程序:
具体过程不再赘述,可参照上一篇博文,我这里做了一个简单的数据增删改查的示例。
注:创建完成后需要添加对SqlServerCe的引用:
路径:C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\System.Data.SqlServerCe.dll
添加引用:using System.Data.SqlServerCe

图1 添加对SqlServerCe的引用
对于主窗体,包含
6个button,分别为:全部显示,部分显示,增加,删除,修改和退出;
1个datagrid:用于数据显示。

图2 主窗体
2.全部显示

图3 添加显示的数据库文件

图4 全部显示
1 string strAddr = ""; OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
strAddr = ofd.FileName;
}
string constr = "Data Source=" + strAddr + ";";
SqlCeConnection conn = new SqlCeConnection(constr);
conn.Open(); string cmdtxt = "select * from DBtest";
SqlCeDataAdapter adap = new SqlCeDataAdapter(cmdtxt, conn);
DataSet ds = new DataSet();
adap.Fill(ds); dataGrid1.DataSource = ds.Tables[].DefaultView;
3.部分显示
对于部分显示,本次只读取了name和sex两列,细心的话你会注意到这里显示的是“姓名”“性别”而不是全部显示里的“name”“sex”

图5 部分显示
1 string strAddr = ""; OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
strAddr = ofd.FileName;
}
string constr = "Data Source=" + strAddr + ";";
SqlCeConnection conn = new SqlCeConnection(constr);
conn.Open(); 12 string cmdtxt = "select name as 姓名,sex as 性别 from DBtest";
SqlCeDataAdapter adap = new SqlCeDataAdapter(cmdtxt, conn);
DataSet ds = new DataSet();
adap.Fill(ds); dataGrid1.DataSource = ds.Tables[].DefaultView;
4.删除
删除"name"为“zhao”的项,然后重新打开部分显示(没办法,增加删除没有做输入控件,无法选择或者信息填入,就拿个固定的项做个示例)

图6 删除
string strAddr = "";
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
strAddr = ofd.FileName;
}
string constr = "Data Source=" + strAddr + ";";
SqlCeConnection conn = new SqlCeConnection(constr);
conn.Open(); SqlCeCommand mycommand = new SqlCeCommand();
mycommand.CommandType = CommandType.Text;
//mycommand.CommandText = "select select name as 姓名,sex as 性别 from DBtest";
mycommand.CommandText = "delete from DBtest where name='zhao'";
mycommand.Connection = conn; mycommand.ExecuteNonQuery();
conn.Close();
5.增加
注:此操作需要在删除后进行,否则因为存在相同的记录,程序会报错(这只是一个示例,大家不要强求太完美啊==!)

图7 增加
string strAddr = "";
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
strAddr = ofd.FileName;
}
string constr = "Data Source=" + strAddr + ";";
SqlCeConnection conn = new SqlCeConnection(constr);
conn.Open(); SqlCeCommand mycommand = new SqlCeCommand();
mycommand.CommandType = CommandType.Text;
//mycommand.CommandText = "select select name as 姓名,sex as 性别 from DBtest";
mycommand.CommandText = "insert into DBtest(name,sex,tel) values ('zhao','man','111111111')";
mycommand.Connection = conn; mycommand.ExecuteNonQuery();
conn.Close();
6.修改
将“zhao”这一条记录的“tel”改为“2222222222”(注,原来为1111111111,上一条刚刚增加)

图8 修改
string strAddr = "";
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
strAddr = ofd.FileName;
}
string constr = "Data Source=" + strAddr + ";";
SqlCeConnection conn = new SqlCeConnection(constr);
conn.Open(); SqlCeCommand mycommand = new SqlCeCommand();
mycommand.CommandType = CommandType.Text;
//mycommand.CommandText = "insert into DBtest(name,sex,tel) values ('zhao','man','111111111')";
mycommand.CommandText = "update DBtest set tel='2222222222'where name='zhao'";
mycommand.Connection = conn; mycommand.ExecuteNonQuery();
conn.Close();
7.写在最后的话
本人不是计算机出身,上位机开发和数据库纯属自学,但是还是希望能和各位朋友能够交流。我也有很多不会的,但是我会把自己会的,或者自认为可以很好解决某一个问题的方法拿出来和大家交流,希望借助博客这个平台,交到很多志同道合的朋友!!!!!
8.下载地址
代码下载地址:
http://download.csdn.net/detail/u010312811/8398555
下载的积分有点高,实在是csdn太坑,我也是被其他网友把积分都坑完了。有不想花积分的可以留下邮箱,我把代码发过去,不好意思哈
Wince下sqlce数据库开发(二)的更多相关文章
- WinCE下SQLCE数据库开发(VS,VB.net,VC++)
WinCE下SQLCE数据库开发(VS,VB.net,VC++) WinCE下SQLCE数据库开发 微软的SQL Server数据库由于其功能强大.方便使用,因此在很多行业都被广泛应用.基于智能设 ...
- 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 常见的统统支持).而且可以 ...
- Java数据库开发(二)之——DBCP连接数据库
1.载入jar包 DBCP需要以下几个jar包,可到apache及mysql的官网下载 2.程序编写 public static BasicDataSource ds = null; static f ...
- 在Window Embedded CE(Wince)下使用OpenNETCF进行路由表的开发
点击打开链接 背景 在开发3G项目的是时候,发现尽管3G网络连接已经建立成功了,但是数据不能发送成功,查明原因,由于路由表的问题,导致数据往ActiveSync连接的对端,也就是PC发送,而不是发送到 ...
- (Java)微信之个人公众账号开发(二)——接收并处理用户消息(下)
接下来,我们再讲一下图文消息: 如图: 大家可以先从开发者文档中了解一下图文消息的一些参数: 如上图,用户回复4时,ipastor返回了几条图文消息,上图中属于多图文消息,当然还有单图文消息,图文消息 ...
- WinCE下的串口通信开发(VS2005,VB.Net,VC++)
WinCE下的串口通信开发(VS2005,VB.Net,VC++) WinCE下的串口通信开发 一.利用Visual Basic 开发很简单,因为有现成的控件可以直接调用 以VS2005为例,首先 ...
随机推荐
- 使用cachemanager做缓存(Session的缓存)
1.我在这里直接用 cachemanager.redis 往redis里面存储缓存数据2.步骤 1)下载CacheManager.Redis(包含了CacheManager.Core) 下载Stack ...
- 浅谈javascript函数节流
浅谈javascript函数节流 什么是函数节流? 函数节流简单的来说就是不想让该函数在很短的时间内连续被调用,比如我们最常见的是窗口缩放的时候,经常会执行一些其他的操作函数,比如发一个ajax请求等 ...
- Linux运维初级教程(二)账户与安全
知识点 用户ID为UID,组ID为GID,UID=0表示超级管理员即root. 一个用户只可以加入一个基本组,但是可以同时加入多个附加组. 创建用户时,系统默认会自动创建同名的组,并设置用户加入该基本 ...
- Maven初级学习(二)Maven使用入门
序,学习配置pom.xml,利用maven生成eclipes项目. 一.编写POM POM Project Obejct Model,项目对象模型. 编写pom.xml,新建文件夹hello-worl ...
- Notepad++的插件
1.4. Notepad++中常用的插件 1.4.1. 插件管理器: Plugin Manager 插件功能:此插件可以帮你管理插件,包括查看当前已经安装的插件有哪些,以及自动帮你下载相应的插件. 插 ...
- SQL Server 服务器器信息备份(一)--login新建脚本备份
前言 若你的企业使用SQL Server数据库镜像为容灾技术. 那你一定做过在镜像切换之前要新建Login,而且若Login密码不同,要修改链接数据库的字符串,在切换完之后则仍需要给数据库重新赋予权限 ...
- SQL获取日期格式
) + ' ' + CONVERT(VARCHAR, DATEPART(hh, GetDate())) + ':' + ) AS Date ),) ),) ),) as DateTime) as [D ...
- tc 146 2 BridgeCrossing(n人过桥问题)
SRM 146 2 1000BridgeCrossing Problem Statement A well-known riddle goes like this: Four people are c ...
- 【PHP面向对象(OOP)编程入门教程】5.如何实例化对象?
我们上面说过面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,既然我们类会声明了,下一步就是实例化对象了. 当定义好类后,我们使用new关键字来生成一个对象. $对象名称 = new 类名称 ...
- Codeforces 259 B - Little Pony and Sort by Shift
题目链接:http://codeforces.com/contest/454/problem/B 解题报告:太渣了,这个模拟题最后跑大数据的时候挂了,最后还花了很久才过,用的最笨的方法,直接模拟,代码 ...