作者:Microsoft    转贴自:   http://www.siyuansoft.com/info_Print.asp?ArticleID=316

演练:使用 SQL Server CE 数据库

本节将指导您完成使用 Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) 数据库时需要执行的主要任务。假定您没有任何 SQL Server CE 数据库,需要在新的 Microsoft Visual Studio .NET 项目中创建新的数据库。

该演练包括以下任务:

  • 创建新的 SQL Server CE 数据库
  • 读取 SQL Server CE 数据库数据
  • 更改 SQL Server CE 数据库中的数据

阐释以上每个任务步骤的代码旨在一起运行。不能在任务中运行仅用于特定步骤的代码。有关完整代码列表,请参见代码列表:使用 SQL Server CE 数据库。

创建新的数据库

SQL Server CE 中的数据库是存储结构化数据的表集合。在可以存储数据库之前,必须创建数据库。在创建数据库之后,可以创建保存数据的表。

在本节中,您将创建一个新的数据库,然后创建一个表,最后将数据添加到该表中。若要执行这些步骤,请使用 SQL Server CE (System.Data.SqlServerCe) .NET Framework 精简版数据提供程序的 SqlCeConnectionSqlCeEngineSqlCeCommand 类。

注意   不能在此任务中运行仅用于特定步骤的代码。有关完整代码列表,请参见代码列表:使用 SQL Server CE 数据库。

创建新的 SQL Server CE 数据库

  1. 启动 Visual Studio .NET,然后打开一个新项目。
  2. 创建对使用的命名空间的引用。
    using System;using System.IO;using System.Text;using System.Data;using System.Data.SqlServerCe;using System.Collections;using System.Windows.Forms;using System.Data.Common;
  3. 创建 WalkThrough 类。
    public class WalkThrough{static void Main(){SqlCeConnection conn = null;try{
  4. 验证具有您打算使用的名称的数据库是否已存在。
                if (File.Exists (Test.sdf) )File.Delete (Test.sdf);
  5. 使用 System.Data.SqlCeEngine 对象创建名为 Test.sdf 的空数据库。

    注意   SQL Server CE 中,数据库名称的文件扩展名为 .sdf。

                SqlCeEngine engine = new SqlCeEngine (Data Source = Test.sdf);engine.CreateDatabase ();
  6. 连接到这个新数据库。
    conn = new SqlCeConnection (Data Source = Test.sdf);conn.Open();

创建新表

  1. 使用 System.Data.SqlCeCommand 创建命令类的实例。

    SqlCeCommand cmd = conn.CreateCommand();
  2. 运行命令 cmd 创建表。用于创建表的指令必须在 cmd.CommandText 所包含的 SQL 代码中。

    若要使用 SQL Server CE 的 SQL 编程语言创建表,请使用 CREATE TABLE 语法。有关更多信息,请参见《SQL Server CE 联机手册》中的用于 SQL Server CE 的 SQL 参考。

    cmd.CommandText = CREATE TABLE TestTbl(col1 int PRIMARY KEY, col2 ntext, col3 money);cmd.ExecuteNonQuery();

将数据添加到新表中

  1. 运行命令以添加数据行。与创建表相同,用于添加行的指令也必须在 cmd.CommandText 所包含的 SQL 代码中。

    若要使用 SQL Server CE 的 SQL 编程语言将行添加到表中,请使用 INSERT 语法。有关更多信息,请参见《SQL Server CE 联机手册》中的用于 SQL Server CE 的 SQL 参考。

    cmd.CommandText =  INSERT INTO TestTbl(col1, col2, col3) VALUES (0, 'abc', 15.66);cmd.ExecuteNonQuery();
  2. 创建命令,使用参数将数据多次插入表中。

    参数可以更高效地查询数据库,因为可以使用一组包含参数的 SQL 语句插入多个值。有关更多信息,请参见《SQL Server CE 联机手册》的在查询中使用参数。

    cmd.CommandText = INSERT INTO TestTbl(col1, col2, col3) VALUES (?, ?, ?);cmd.Parameters.Add(new SqlCeParameter(p1, SqlDbType.Int));cmd.Parameters.Add(new SqlCeParameter(p2, SqlDbType.NText));cmd.Parameters.Add(new SqlCeParameter(p3, SqlDbType.Money));cmd.Parameters[p2].Size = 50;cmd.Prepare();
  3. 执行参数化命令,将数据插入表中。
    cmd.Parameters[p1].Value = 1;cmd.Parameters[p2].Value = abc;cmd.Parameters[p3].Value = 15.66;cmd.ExecuteNonQuery();
  4. 清除参数,并检查已插入表中的数据。

    若要使用 SQL Server CE 的 SQL 编程语言读取现有数据,请使用 SELECT 语法。有关更多信息,请参见《SQL Server CE 联机手册》中的用于 SQL Server CE 的 SQL 参考。

    cmd.Parameters.Clear();//Set the command text to a SELECT query.//cmd.CommandText = SELECT * FROM TestTbl;

读取 SQL Server CE 数据库数据

读取数据库数据是一种常见的任务,通常涉及对表行信息的访问。为使用 System.Data.SqlServerCe 执行此任务,您需要 SqlCeDataReaderSqlCeCommand 对象。

注意   有关完整代码列表,请参见代码列表:使用 SQL Server CE 数据库。

  1. 调用 SqlCeCommand 对象的 ExecuteReader 方法以创建 SqlCeDataReader 的实例。

    SqlCeDataReader rdr = cmd.ExecuteReader();
  2. 指示数据读取器 rdr 在行存在时在每行的列中显示数据。
    while (rdr.Read()){MessageBox.Show(col1 =  + rdr.GetInt32(0) +col2 =  + rdr.GetString(1) +col3 =  + rdr.GetSqlMoney(2));}

更改 SQL Server CE 数据库中的数据

在创建表后,可以以多种方式修改表中的数据:更改特定数据的属性,添加和删除数据行,甚至还可以通过修改表中的列来更改存储数据的方式。

在本节中,您将更改表项的值,查找更改的表的数据并处理所有错误。为执行这些步骤,您将使用在前面的任务中使用的类:SqlCeCommandSqlCeDataReader。另外,您将使用 SqlCeException 进行错误处理。

注意   不能在此任务中运行仅用于特定步骤的代码。有关完整代码列表,请参见代码列表:使用 SQL Server CE 数据库。

更新 SQL Server CE 表中的数据

  • 设置命令对象以使用 UPDATE 语句。

    若要使用 SQL Server CE 的 SQL 编程语言更改行列的值,请使用 UPDATE 语法。有关更多信息,请参见《SQL Server CE 联机手册》中的用于 SQL Server CE 的 SQL 参考。

    cmd.CommandText = UPDATE TestTbl SET col2 = 'some new value' WHERE col1 = 0;cmd.ExecuteNonQuery();

读取 SQL Server CE 表中的数据

  1. 设置命令对象以使用 SELECT 语句,然后通过执行 SqlCeCommand.ExecuteReader 创建数据读取器的实例。

                cmd.CommandText = SELECT * FROM TestTbl;rdr = cmd.ExecuteReader();while (rdr.Read()){MessageBox.Show( col1 =  + rdr.GetInt32(0) +col2 =  + rdr.GetString(1) +col3 =  + rdr.GetSqlMoney(2));}}
  2. 使用 SqlCeException 捕获任何错误,然后关闭与数据库的连接。
     catch (SqlCeException e){ShowErrors(e);}finally{if(conn.State == ConnectionState.Open)conn.Close();}}public static void ShowErrors(SqlCeException e){SqlCeErrorCollection errorCollection = e.Errors;StringBuilder bld = new StringBuilder();foreach (SqlCeError err in errorCollection){bld.Append(\n Error Code:  + err.HResult.ToString(X));bld.Append(\n Message   :  + err.Message);bld.Append(\n Minor Err.:  + err.NativeError);bld.Append(\n Source    :  + err.Source);foreach (int numPar in err.NumericErrorParameters){if (0 != numPar) bld.Append(\n Num. Par. :  + numPar);}foreach (string errPar in err.ErrorParameters){if (String.Empty != errPar) bld.Append(\n Err. Par. :  + errPar);}MessageBox.Show(bld.ToString());bld.Remove(0, bld.Length);}}}

有关 SQL Server CE 中的错误处理的更多信息,请参见《SQL Server CE 联机手册》中的错误处理。

转载于:https://www.cnblogs.com/pingkeke/archive/2006/07/12/449158.html

演练:使用 SQL Server CE 数据库相关推荐

  1. WP之Sql Server CE数据库

    如何在WP8中进行数据存储,你首先想到应该是独立存储,但是独立存储似乎存储文件更方便,如果我们希望像处理对象的形式,该怎么办呢,答案就是Sql Server CE. Sql Server CE并不是新 ...

  2. SQL Server CE服务器端和客户端安装配置学习笔记

    SQL Server 2005 CE开发环境介绍: 最近学习使用SQL Server 2005 Compact Edition进行数据存储,在学习的过程中发现,使用SQL Server2005 man ...

  3. [转]实战 SQL Server 2008 数据库误删除数据的恢复

    实战 SQL Server 2008 数据库误删除数据的恢复 关键字:SQL Server 2008, recover deleted records 今天有个朋友很着急地打电话给我,他用delete ...

  4. 同步SQL Server 2000 数据库

    为什么要同步SQL Server 2000 数据库,它都用在什么场合 数据实时备份同步,数据库服务器出问题时我们也有其正常工作时的备份 数据实时备份同步,一台服务器负载不起时,可以用来做负载均衡 数据 ...

  5. sqlserver2000换成mysql_将Microsoft SQL Server 2000数据库转换成MySQL数据库

    1. 下载并安装MyODBC.(如果是XP请下载5.3的旧版本,8.x的新版本运行有问题) 2. 创建一个空的MySQL数据库. 3. 在Windows >> 控制面板 >> ...

  6. 《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.8 创建数据库...

    本节书摘来自异步社区出版社<PowerShell V3-SQL Server 2012数据库自动化运维权威指南>一书中的第2章,第2.8节,作者:[加拿大]Donabel Santos,更 ...

  7. 使用Source Safe for SQL Server解决数据库版本管理问题

    使用Source Safe for SQL Server解决数据库版本管理问题 参考文章: (1)使用Source Safe for SQL Server解决数据库版本管理问题 (2)https:// ...

  8. SQL Server主从数据库同步方式及同步问题解决方案总结

    SQL Server主从数据库同步方式及同步问题解决方案总结 参考文章: (1)SQL Server主从数据库同步方式及同步问题解决方案总结 (2)https://www.cnblogs.com/zh ...

  9. 烂泥:SQL Server 2005数据库备份与恢复

    本文首发于烂泥行天下. 服务器的迁移,因为业务使用的数据库是SQL Server 2005,所以就要首先对数据库进行备份. 备份可以分为手动备份和自动备份,我们先来介绍手动备份. 打开SQL Serv ...

  10. SQL Server 2012 数据库镜像配置完整篇

    "数据库镜像"是一种提高 SQL Server 数据库的可用性的解决方案. 镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库.数据库镜像维护一个数据库的两个副本,这两个 ...

最新文章

  1. python如何询问_学习Python问?
  2. 浙大通讯与计算机网络离线作业,浙大2015年 通信与计算机网络离线作业
  3. hadoop安装hive及配置mysql_Hadoop系列之Hive(数据仓库)安装配置
  4. brainfu*k语言执行
  5. 和lua的效率对比测试_Unity游戏开发Lua更新运行时代码!
  6. js原生ajax跨域请求,封装一个原生js的ajax请求,支持IE9CORS跨域请求
  7. 学了java然后深入_JAVA8学习——从源码角度深入Stream流(学习过程)
  8. JavaWeb——eclipse与tomcat环境配置
  9. [纯前端]打造自己的ORK管理软件
  10. NBU备份软件实施过程的注意事项
  11. 离散数学常见面试问题总结,含答案
  12. python制造童年回忆:猫和老鼠小游戏【附源码】
  13. 能否构成三角形的条件代码_初中阶段数学三角形相关知识点汇总,超全
  14. linux 使用tar命令压缩文件夹
  15. 无线射频专题《射频合规,无线电认证系列简介,IC/CE/FCC/NCC/KCC/SRRC/ROHS/TELET/REACH/ANATEL》
  16. Linux烤机脚本测试io,sipp测试脚本用于媒体测试
  17. java 正序排序_Java8对list排序(正序倒序)
  18. 阿文的《Java从入门到精通(第二版)》学习日记DAY1
  19. Java操作redis遇到的问题
  20. 多维数组(Multi-dimensional Array)

热门文章

  1. java工程package红叉_Java程序中没有错,项目上面显示一个红叉的解决办法
  2. php上证指数抽奖代码,[高手指点] 美团网的抽奖是什么原理?
  3. Python:内置类型
  4. 自动驾驶 10-1: 3D 几何和参考系3D Geometry and Reference Frames
  5. 算法:回溯十二 Word Search字符串匹配二维矩阵
  6. Java 最长递增子序列_最长递增子序列问题 Java
  7. Single Number 只出现一次的数字 python实现 - ...
  8. Reverse Linked List(非递归解法)
  9. rmi 反序列化漏洞_Java反序列化漏洞自动挖掘方法
  10. 译林 五年级上 单词_译林版小学英语五上Unit 4 HobbiesStory time公开课优质课件教案视频教案...