上次写到使用数据绑定的方法测试本地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数据库开发(二)的更多相关文章

  1. WinCE下SQLCE数据库开发(VS,VB.net,VC++)

    WinCE下SQLCE数据库开发(VS,VB.net,VC++)   WinCE下SQLCE数据库开发 微软的SQL Server数据库由于其功能强大.方便使用,因此在很多行业都被广泛应用.基于智能设 ...

  2. Wince下sqlce数据库开发(一)

    对于Wince下的sqlce数据库虽然很多人在用,但在我查找资料时,却发现资料是多么的匮乏,在此对自己这几天的了解做个简单介绍,希望对大家能有所帮助! 本文的最后附有所使用到的sqlce在wince下 ...

  3. Visual Studio下SQLite数据库开发环境设置

    由于我们介绍的内容都是基于微软的Visual Studio下开发的Win32平台,所以下边我们介绍Visual Studio下SQLite数据库开发环境设置.具体而言我们有两种方式可以在Visual ...

  4. SD card技术了解并WINCE下SDHC驱动开发(updated)

    Suumary: 简单介绍了一下SD卡的历史和发展,同时结合MX31 ADS上的WINCE 下SDHC驱动更深入的了解该硬件的一些行为特点. 了解SD card SD是Secure Digital C ...

  5. 推荐linux下的数据库开发工具DBeaver 开源免费

    linux下不错的数据库管理工具 DBeaver 操作比较友好,基于eclipse.使用jdbc链接,链接数据库非常全(oracle mysql mssql sqlite  常见的统统支持).而且可以 ...

  6. Java数据库开发(二)之——DBCP连接数据库

    1.载入jar包 DBCP需要以下几个jar包,可到apache及mysql的官网下载 2.程序编写 public static BasicDataSource ds = null; static f ...

  7. 在Window Embedded CE(Wince)下使用OpenNETCF进行路由表的开发

    点击打开链接 背景 在开发3G项目的是时候,发现尽管3G网络连接已经建立成功了,但是数据不能发送成功,查明原因,由于路由表的问题,导致数据往ActiveSync连接的对端,也就是PC发送,而不是发送到 ...

  8. (Java)微信之个人公众账号开发(二)——接收并处理用户消息(下)

    接下来,我们再讲一下图文消息: 如图: 大家可以先从开发者文档中了解一下图文消息的一些参数: 如上图,用户回复4时,ipastor返回了几条图文消息,上图中属于多图文消息,当然还有单图文消息,图文消息 ...

  9. WinCE下的串口通信开发(VS2005,VB.Net,VC++)

    WinCE下的串口通信开发(VS2005,VB.Net,VC++)   WinCE下的串口通信开发 一.利用Visual Basic 开发很简单,因为有现成的控件可以直接调用 以VS2005为例,首先 ...

随机推荐

  1. SpringMVC框架的工作原理

    学习SpringMVC的工作原理,首先有三个要解决的问题: (1)DispathcherServlet框架如何截获特定的HTTP请求,交由SpringMVC处理? (2)位于Web层的Spring容器 ...

  2. 浅谈T-SQL中的派生表和CTE

    引言 表表达式是一种命名的查询表达式,代表一个有效的关系表.MSSQL支持4种类型的表表达式,它们分别是:派生表.公用表表达式(CTE).视图以及内联表值函数.表表达式并不是物理上真实存在的对象,它们 ...

  3. 网络方案 & HTTP状态码

    在iOS中,常见的发送HTTP请求的方案包括: 苹果官方 名称 说明 NSURLConnection iOS 2.0 推出,用法简单,最古老最经典最直接的一种方案 NSURLSession iOS 7 ...

  4. [js/jquery]移动端手势拖动,放大,缩小预览图片

    摘要 有这样的需求需要在手机端预览图片的时候,实现图片的手势拖动,放大缩小功能.最终通过touch.js这个插件实现了效果. touch.js Touch.js是移动设备上的手势识别与事件库, 由百度 ...

  5. PHP数据类型转换

    转自:http://www.tianzhigang.com/article.asp?id=280 PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: (int).(integer):转换成 ...

  6. Hadoop生态系统

    Hadoop 生态圈

  7. hdu 4960 Another OCD Patient (最短路 解法

    http://acm.hdu.edu.cn/showproblem.php?pid=4960 2014 Multi-University Training Contest 9 Another OCD ...

  8. [整理]VS2013常用插件

    VS2013常用插件 (工欲善其事,必先利其器.VS2013全攻略(技巧,快捷键,插件)[http://developer.51cto.com/art/201404/437282_all.htm] 代 ...

  9. 通过google chrome操作JavaScript中Console

    紧接着有关上一个文章的!function................. 前端开发人员一定会用到你的开发者工具中的Console控制台.通常Console用于调试程序,日志输出,打断点等功能.比如我 ...

  10. 清北学堂模拟day6 花

    [问题描述] 商店里出售n种不同品种的花.为了装饰桌面,你打算买m支花回家.你觉得放两支一样的花很难看,因此每种品种的花最多买1支.求总共有几种不同的买花的方案?答案可能很大,输出答案mod p的值. ...