Windows Mobile6 Vs2008 Sql Ce3.5 嵌入式应用开发
开发环境:
windows2003,安装了vs2008、SQL Server2005,这是基础(当然用vs2003,vs2005,SQL Server2000啥的也可以,不过新的总是功能强大些么,呵呵);
因为开发时绝大部分时间是在模拟器上调试,而不是PPC,所以模拟器是必须安装的。针对你的PPC操作系统选择对应的模拟器与sdk包,我安装的是WM6中文版的。(windows mobile 6 professional sdk.msi、Windows Mobile 6 Professional Images (CHS).msi);
然后是SQL Server2005 CE的sdk(SQL Server 2005 Compact Edition SDK.msi);
最后是用来管理PPC与电脑通讯的ActiveSync(MicrosoftActiveSync_setup_cn.msi);
以上软件全部可从微软官方网站免费下载。
开始新建一个项目:
选择类型,目标平台选择你想要的。后面也可以修改。
程序是在PPC上跑的,到时候会在上面运行SQL Server CE。把dll引用一下。
接着就开始编程!跟普通的.NET程序没有任何区别,就是设计视图跟移动设备一样。下面是登录页面与查询页面。
下面介绍一下SQL Server CE与SQL Server的数据操作问题。网上有很多介绍相关内容的,这里只说重点:
我们的程序在PPC上跑,数据源可能是PPC本地的CE数据文件(.sdf),也可能是远程Server上的SQL Server数据库。如果是本地CE文件,使用System.Data.SqlServerCe命名空间下的几个类:SqlCeConnection(管理连接)、SqlCeCommand(sql命令)、SqlCeDataAdapter(适配器)、SqlCeTransaction(如果你需要使用事务)等即可,与System.Data下的那几个类对应,用法也一样。例如:执行一个SQL:
private SqlCeConnection _Connection = null;
private string _LocalConnectionString = "";
public int ExcuteNoneQuery(string strSQL)
{
SqlCeCommand command = _Connection.CreateCommand();
command.CommandText = strSQL;
int iRows = 0;
try
{
iRows = comman
相关文档:
在SQL Server2005/2008中可以使用一下四个命令来调优sql语句以及检查调优的结果
set
statistics time on
set
statistics IO on
set
statistics profile on
set
statistics xml on
......
update t1 set t1.value=t2.value from t2 where t1.id=t2.id
update jbsite_class set topicnum = count
from (select t2.classid,count from (
select distinct classid,count(*) as count
from jbsite_product ......
由于当初表设计的不合理,慢慢的发现浪费许多空间,且对扩展不利。决定不把同类型内容并排列保存,所以今天把多余的列剪掉,补在保留的列下面。
在表名点右键,数据操作,导出SQL脚本数据。照提示操作,这里我喜欢的是可以指定列导出。
然后把不需要的空列删掉,改一下插入的列 ......
一、Orcale 时的查询
String hql = "from SmsTemplate t where 1=1 ";
if (model != null && !"".equals(model.getEndTimes())&& null!=model.getEndTimes() ) {
SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd"); //格式化当前系统日期
Date ......
超级有用的SQL语句 (用于SQL SERVER 服务器)
超级有用的SQL语句 ,执行后返回的列分别是:表名、列名、列类型、列长度、列描述、是否主键,语句如下:
(分析SQL SERVER 数据库表结构专用)
Select Sysobjects.Name As 表名,
Syscolumns.Name As 列名,
......