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为例,首先 ...
随机推荐
- Mysql InnoDB行锁实现方式(转)
Mysql InnoDB行锁实现方式 InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过在数据块中对相应数据行加锁来实现的.InnoDB这种行锁实现特点 ...
- redis缓存分页数据ID
1.用户通过分类.属性进来分页时 如果没有缓存,就读数据库前10页的数据Id,转为json,根据cate_分类1+cate_分类2+cate_分类3+arr_属性1+arr_属性2+arr_属性3作为 ...
- 将excel文件中的数据导入到mysql
·在你的表格中增加一列,利用excel的公式自动生成sql语句,具体方法如下: 1)增加一列(假设是D列) 2)在第一行的D列,就是D1中输入公式:=CONCATE ...
- html、css杂记
1:浮动 <div style="float: left"> 2:清除浮动,把父div撑起来 <div style="clear:both"& ...
- CSS样式表继承详解
最近在恶补css样式表的基础知识.上次研究了css样式表之冲突问题详解 .这次是对 css 继承 特性的学习. 什么是css 继承?要想了解css样式表的继承,我们先从文档树(HTML DOM)开始. ...
- thinkphp-许愿墙-2
在数组中,也可以使用函数,如: $data = array( 'username'=> I('username','', 'htmlspecailchars'), 'content'=> ...
- rose中设置组合
1.在工具栏选择 "association" (关联).2.编辑role B 属性 open specital , role B detail ,multiplic(重数) 为1, ...
- linux下系统对于sigsegv错误时的处理
一般来讲,对非法地址的访问会导致应用程序收到由系统发送的sigsegv信号,默认情况下,函数对于这个信号的处理是退出. 但是为了方便调试,我们可以自己设置处理函数,使用signal函数. 这里比较重要 ...
- 【C语言入门教程】2.5 字符型数据
字符型数据用于在计算机上保存字符编码和一些文本控制命令,多个字符型数据和字符串结束符组成的序列称为字符串.Linux 系统与其他大多数操作系统一样,支持 ASCII编码对字符编码,每个字符占用 1 个 ...
- tcl调用tuxedo的一个demo
Tuxedo是Oracle的一个商业中间件,一般用于通信. 如下是一个简单的调用tuxedo的so动态库实现,编译后,tcl脚本可以加载并调用这个so库实现对tuxedo的调用. 1. 代码例子,保存 ...