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为例,首先 ...
随机推荐
- rz和sz上传下载文件工具lrzsz
######################### rz和sz上传下载文件工具lrzsz ####################################################### ...
- 将图片部署在tomcat/iportWork/uploadFiles中
将图片部署在tomcat/iportWork/uploadFiles中 1.在将运行的tomcat目录下创建个二级目录iportWork\uploadFiles,如下图:
- 真正理解linux的inode?
linux 在整个架构上可以看作是三层: 1.底层代码, (引导层strip) 跟硬件沟通的那一层的代码(可能是汇编+c), 驱动底层的; strain: n./v. 拉紧, 张力, 气质, 风格, ...
- centos 安装 mysql5.6
转载自 http://www.cnblogs.com/littlehb/archive/2013/04/02/2995007.html Mysql 5.5以后使用了CMake进行安装,参考与以前的区别 ...
- JMS的可靠性
---------------------------------------------------------------------------------------------------- ...
- CF448C Painting Fence (分治递归)
Codeforces Round #256 (Div. 2) C C. Painting Fence time limit per test 1 second memory limit per tes ...
- 【bzoj3631】[JLOI2014]松鼠的新家
题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在"树"上.松 ...
- dfs序 + RMQ = LCA
dfs序是指你用dfs遍历一棵树时,每个节点会按照遍历到的先后顺序得到一个序号.然后你用这些序号,可以把整个遍历过程表示出来. 如上图所示,则整个遍历过程为1 2 3 2 4 5 4 6 4 2 1 ...
- php面向对象面试题
php面试题之四--PHP面向对象(基础部分) 四.PHP面向对象 1. 写出 php 的 public.protected.private 三种访问控制模式的区别(新浪网技术部) public:公有 ...
- linux 学习之路
很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...