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为例,首先 ...
随机推荐
- IE安全分析
IE安全问题,这个话题似乎很古老了,但是问题又是层出不穷~ 对于IE的安全,我个人认为有两点需要关注,一个是上网的安全,二个是IE解析代码的安全 对于IE上网安全,这是最基本的,也是最常用的了 附上一 ...
- js其它
1.js的数组 * 什么是数组? - 使用变量,var m = 10; - java里面 ...
- inline-block元素overflow:hidden对齐问题
inline-block元素设置overflow:hidden后,其本身会上移 解决方法:在该元素或其父元素上设置vertical-align:bottom 原因解释:inline-block元素被设 ...
- mysql数据表分表策略2(转)
mysql分表方法: 方法一. 做数据库集群! 主从数据库 双向热备份(或一对多的数据库实时备份策略),这样可将数据库查询分摊到几个服务器去(可跟服务器负载均衡结合起来架构) 优点:扩展性好,没有多个 ...
- nlssort函数的用法以及参数
NLSSORT,可以用来进行语言排序,且不影响当前会话. 用法示例: 拼音SELECT * FROM TEAM ORDER BY NLSSORT(排序字段,'NLS_SORT = SCHINESE_P ...
- iis7+ 禁止IP访问设置方法
第一步:打开 管理工具-Internet 信息服务(IIS)管理器,打开网站,选中某个站点 第二步:双击IIS中的IP地址和域限制 第三步:在右栏操作,添加拒绝条目
- 父容器的flowover:hidden 必须配合父容器的宽高height width才能生效
有时候 给父容器 加上了 flowover:hidden 这个css后, 其中的子元素为什么仍然会跑出来? 解决的根本方法就是要给 父容器 加上具体的一个宽度, 或高度. (而这个宽度和高度, 其实你 ...
- Emacs配置文件
;;tab and space;;when true,emacs use mixture of tab and space to archieve(setq-default indent-tabs-m ...
- 成功的背后!(给所有IT人)
转载:来自CSDN第一名博主:http://blog.csdn.net/phphot/article/details/2187505 成功的背后,有着许多不为人知的故事,而正是这些夹杂着泪水和汗水的过 ...
- Intent和Activity知识点总结
1.Intent的跳转传值2.Intent的隐式启动(用于不同应用中)与显示启动(同一应用中)3.Activity的生命周期 void onCreate()——Activity已经被创建完毕,创 ...