本地数据库操作完整最新_第1页
本地数据库操作完整最新_第2页
本地数据库操作完整最新_第3页
本地数据库操作完整最新_第4页
本地数据库操作完整最新_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、rosoftSQL Server Compact 4.0 数据库的表中的每个列都支持一组指定该列可以包含的数据类型的数据类型。注意MicrosoftSQL Server 和 SQL Server Compact 4.0 两者之间在函数执行过程中导致溢出或下溢时提升数据类型的方式可能稍有不同。SQL Server Compact 4.0 支持下列数据类型:数据类型说明bigint整数数据,从 263 (9,223,372,036,854,775,808) 到 2631 (9,223,372,036,854,775,807)。存储大小为 8 字节。integer整数数据,从 231 (-2,147

2、,483,648) 到 2311 (2,147,483,647)。存储大小为 4字节。smallint整数数据,从 32,768 到 32,767。存储大小为 2字节。tinyint整数数据,从 0 到 255。存储大小为 1字节。bit整数数据,值为 1 或 0。存储大小为 1 位。numeric (p, s)Synonyms:decimal(p,s) and dec (p,s)精度和小数位数固定的数值数据,取值范围从 1038+1 到 10381。p 变量指定精度,取值范围从 1 到 38。s变量指定小数位数,取值范围从 0 到p。存储大小为 19 字节。money货币数据值,从 (263

3、/10000) (922,337,203,685,477.5808) 到 2631 (922,337,203,685,477.5807),准确度为货币单位的万分之一。存储大小为 8 字节。float浮点数数据,从 1.79E +308 到 1.79E+308存储大小为 8 字节。real浮点精度数字数据,从 3.40E+38 到 3.40E+38。存储大小为 4字节。datetime日期和时间数据,从 1753 年 1 月 1 日到 9999 年 12 月 31 日,准确度为三百分之一秒或 3.33 毫秒。值被圆整到 .000、.003 或 .007 毫秒增量。存储为两个 4 字节整数。前 4

4、个字节存储早于或晚于base date 1900 年 1 月 1 日的天数。基准日期是系统的参照日期。不允许datetime的值早于 1753 年 1 月 1 日。后 4 个字节存储一天之中的具体时间,被表示为从午夜算起的毫秒数。秒数的有效范围是 059。格式示例yyyy/mm/ddhh:mm:ss1947/08/15 03:33:20mm/dd/yyyyhh:mm:ss04/15/1947 03:33:20dd mmm yyyy hh:mm:ss15 Jan 1947 03:33:20dd mmmm yyyy h:mm:ss15 January 1947 03:33:20national c

5、haracter(n)Synonym:nchar(n)固定长度的 Unicode 数据,最大长度为 4000 个字符。默认长度 = 1。存储大小(以字节计)是输入的字符数的两倍。national character varying(n)Synonym:nvarchar(n)可变长度的 Unicode 数据,长度值范围为从 1 到 4000 个字符。默认长度 = 1。存储大小(以字节计)是输入的字符数的两倍。ntext可变长度的 Unicode 数据,最大长度为 (2302)/2 (536,870,911) 个字符。存储大小(以字节计)是输入的字符数的两倍。注意字符串函数中不再支持ntext。n

6、charn 个字符组成的固定长度的 Unicode 字符数据。n 必须是从 1 到 4,000 的值。存储大小是 n 字节的两倍。binary(n)固定长度的二进制数据,最大长度为 8000 字节。默认长度 = 1。存储大小是固定的,是在类型中声明的以字节为单位的长度。varbinary(n)可变长度的二进制数据,最大长度为 8000 字节。默认长度 = 1。存储大小可变。它表示值的长度(以字节为单位)。image可变长度的二进制数据,最大长度为 2301 (1,073,741,823) 字节。存储大小是值的以字节为单位的长度。uniqueidentifier全局唯一标识符 (GUID)。存储

7、大小为 16 字节。IDENTITY (s, i)这是数据列的一个属性,而不是一个独特的数据类型。只有整数数据类型的数据列可用于标识列。一个表只能有一个标识列。可以指定种子和增量,但不能更新列。s (seed) = 起始值i(increment) = 增量值ROWGUIDCOL这是数据列的一个属性,而不是一个独特的数据类型。它是一个表中使用uniqueidentifier数据类型定义的列。一个表只能有一个 ROWGUIDCOL 列。Timestamp/rowversion这是一个自动生成的唯一的二进制数字。存储大小为 8 字节。创建新的 SQL Server CE 数据库1. 启动 Visua

8、l 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

9、= null;try 4. 验证具有您打算使用的名称的数据库是否已存在。复制if (File.Exists (Test.sdf) ) File.Delete (Test.sdf);5. 使用对象创建名为 Test.sdf 的空数据库。注意SQL Server CE 中,数据库名称的文件扩展名为 .sdf。复制 SqlCeEngine engine = new SqlCeEngine (Data Source = Test.sdf); engine.CreateDatabase ();6. 连接到这个新数据库。复制conn = new SqlCeConnection (Data Source =

10、 Test.sdf);conn.Open();创建新表1. 使用创建命令类的实例。复制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 PRIMA

11、RY 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,

12、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 SqlCeParame

13、ter(p2, SqlDbType.NText);cmd.Parameters.Add(new SqlCeParameter(p3, SqlDbType.Money);cmd.Parametersp2.Size = 50;cmd.Prepare();3. 执行参数化命令,将数据插入表中。复制cmd.Parametersp1.Value = 1;cmd.Parametersp2.Value = abc;cmd.Parametersp3.Value = 15.66;cmd.ExecuteNonQuery();4. 清除参数,并检查已插入表中的数据。若要使用 SQL Server CE 的 SQL

14、编程语言读取现有数据,请使用 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 数据库数据读取数据库数据是一种常见的任务,通常涉及对表行信息的访问。为使用执行此任务,您需要SqlCeDataReader和SqlCeCommand对象。注意有关完整代码列表,请参见代码列表:

15、使用 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 数据库中的数据在创建表后,可

16、以以多种方式修改表中的数据:更改特定数据的属性,添加和删除数据行,甚至还可以通过修改表中的列来更改存储数据的方式。在本节中,您将更改表项的值,查找更改的表的数据并处理所有错误。为执行这些步骤,您将使用在前面的任务中使用的类:SqlCeCommand和SqlCeDataReader。另外,您将使用SqlCeException进行错误处理。注意不能在此任务中运行仅用于特定步骤的代码。有关完整代码列表,请参见代码列表:使用 SQL Server CE 数据库。更新 SQL Server CE 表中的数据 设置命令对象以使用 UPDATE 语句。若要使用 SQL Server CE 的 SQL 编程语

17、言更改行列的值,请使用 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

18、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);finallyif(conn.State = ConnectionState.Open)conn.Close();public stat

19、ic 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.NativeErro

20、r);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, b

21、ld.Length); 有关 SQL Server CE 中的错误处理的更多信息,请参见SQL Server CE 联机手册中的错误处理。System.Data.SqlServerCe 命名空间命名空间是用于 SQL Server Compact 3.5 的托管数据提供程序。此命名空间是类的集合,这些类提供对 SQL Server Compact 3.5 数据库的访问。通过使用,您可以从智能设备或计算机创建、管理和同步 SQL Server Compact 3.5 数据库。以下功能可用于创建 SQL Server Compact 3.5 桌面应用程序。 对 System.Transaction

22、.TransactionScope 类的支持。 Entity Framework (System.Data.SqlServerCe.Entity.dll) 的 SQL Server Compact 3.5 提供程序。 Visual Studio 2008 中的对 Visual C+ 速成版和 Visual Basic 速成版应用程序开发的支持。 通过使用 Sync Services for ADO.NET 对同步数据的支持。类类说明ResultSetEnumerator可用于循环访问ResultSet对象中的记录集合的枚举器。ResultSetEnumerator不应从代码直接使用。直接使用S

23、qlCeResultSet对象可以获得更多功能。ResultSetView实现数据绑定接口,并在用户界面控件与SqlCeResultSet之间起到桥梁作用。RowView基础结构。SqlCeChangeTracking提供可用于跟踪对 SQL Server Compact 数据库中的表所做更改的方法。SqlCeCommand表示对数据源执行的 SQL 语句。SqlCeCommandBuilder提供一种方法,以自动生成用于协调对DataSet所做的更改和关联数据库的单表命令。无法继承此类。SqlCeConnection表示到 SQL Server Compact 3.5 数据源的连接是打开的。

24、SqlCeDataAdapter表示一组数据命令和一个数据库连接,它们用于填充DataSet和更新数据源。SqlCeDataReader提供从数据源读取数据行的只进流的方法。无法继承此类。SqlCeEngine表示 SQL Server Compact 3.5 引擎对象的属性、方法及其他对象。无法继承此类。SqlCeError收集与数据源返回的警告或错误有关的信息。无法继承此类。SqlCeErrorCollection收集 SQL Server Compact 3.5 的 .NET Compact Framework 数据访问接口产生的所有错误。无法继承此类。SqlCeException基础提

25、供程序从 SQL Server Compact 3.5 数据源返回警告或错误时引发的异常。无法继承此类。SqlCeFlushFailureEventArgs封装FlushFailure事件的事件参数。SqlCeInfoMessageEventArgs为InfoMessage事件提供数据。无法继承此类。SqlCeInvalidDatabaseFormatException尝试打开较旧或较新 SQL Server Compact 版本的数据库文件时,SQL Server Compact 数据源引发异常。SqlCeLockTimeoutException如果已经达到锁超时,则会引发此异常。SqlCe

26、Parameter表示SqlCeCommand的参数,还可表示该参数到一个DataSet列的映射。无法继承此类。SqlCeParameterCollection收集与SqlCeCommand有关的所有参数以及它们各自到DataSet列的映射。SqlCeProviderFactory表示一组方法,这些方法用于创建访问接口对数据源类的实现的实例。SqlCeRemoteDataAccess初始化SqlCeRemoteDataAccess对象的新实例。有关远程数据访问的更多信息,请参见使用远程数据访问 (RDA)。SqlCeReplication初始化SqlCeReplication对象的新实例。有关

27、 SQL Server 复制的详细信息,请参阅 SQL Server 联机丛书。有关 SQL Server Compact 3.5 中合并复制的详细信息,请参阅 SQL Server Compact 3.5 联机丛书。SqlCeResultSet一个可更新、可滚动并且可绑定的游标。SqlCeRowUpdatedEventArgs为RowUpdated事件提供数据。SqlCeRowUpdatingEventArgs为RowUpdating事件提供数据。SqlCeTransaction表示要在数据源执行的 SQL 事务。无法继承此类。SqlCeTransactionInProgressExcept

28、ion在另一个事务进行期间尝试修改数据库时发生。SqlCeType基础结构。SqlCeUpdatableRecord表示数据源中一行可更新的值。SqlCeResultSet对象包含一个或多个UpdatableRecords。SqlMetaData基础结构。指定并检索从数据库中检索的参数和列中的元数据信息。无法继承此类。委托委托说明OnStartTableDownload用户为开始从服务器下载表更改时激发的事件定义的委托。OnStartTableUpload用户为开始将表更改上载到服务器时激发的事件定义的委托。OnSynchronization一种用户定义的委托,使用调解程序工作期间报告的正在执

29、行的同步事件。SqlCeFlushFailureEventHandler必须实现侦听FlushFailure事件的委托。SqlCeInfoMessageEventHandler表示将处理SqlCeConnection的InfoMessage事件的方法。SqlCeRowUpdatedEventHandler表示将要处理SqlCeDataAdapter的RowUpdated事件的方法。SqlCeRowUpdatingEventHandler表示处理SqlCeDataAdapter的RowUpdating事件的方法。枚举枚举说明AddOption确定在添加订阅时是将订阅添加到现有数据库还是创建新的数

30、据库。CommitMode当传递给Commit函数时,CommitMode指定发生提交的时间。DbInsertOptions指定在使用System.Data.SqlServerCe.SqlCeResultSet.Insert方法时要使用的选项。DbRangeOptions指定在指定要查找的索引范围时,SetRange方法使用的选项。DbSeekOptions指定Seek方法将如何对索引进行搜索的选项。DropOption指定使用DropSubscription方法删除订阅时,是保留还是删除数据库。ExchangeType指定仅将数据合并到发布服务器还是在发布服务器和订阅服务器之间进行双向合并。

31、NetworkType指定在设置SqlCeReplication对象的DistributorNetwork或PublisherNetwork属性时使用的网络协议。PurgeType指定当使用SqlCeChangeTracking类的PurgeTombstoneTableData方法或PurgeTransactionSequenceData方法时用于清除元数据的条件。RdaBatchOption指定是否将与Push相关联的行组成一批,归并到单个事务中。RdaTrackOption指定是否跟踪正被提取到设备的表。RepairOption当传递给Repair方法时,RepairOption指定要执行

32、的数据库修复类型。ResultSetOptions设置ResultSetEnumerator的选项。ResultSetSensitivity设置ResultSetEnumerator的敏感度。SecurityType指定复制期间在连接到发布服务器或分发服务器时要使用的安全模式。SnapshotTransferType控制如何将快照文件从分发服务器传输到运行 IIS 的计算机。TrackingKeyType指定用于标识跟踪数据的键的类型。TrackingOptions指定要跟踪的表操作。ValidateType指定要执行的数据验证的类型。VerifyOption这些选项确定要使用的数据库验证的级

33、别。使用提供了从运行在基于 Windows CE .NET 的平台上的 Microsoft Visual Studio .NET 应用程序对 Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) 数据库的编程访问。提供了旨在公开 SQL Server CE 功能的类集。有关如何使用类创建和访问 SQL Server CE 数据库的信息,请参见演练一节中的使用 SQL Server CE 数据库。支持的功能提供了以下功能: 对 SQL Server CE 数据源的一致访问共享数据的使用者应用程序可以使用 SQL Server C

34、E 数据提供程序,连接到 SQL Server CE 数据源检索、操作和更新数据。 用于连接到数据库、运行命令和检索结果的组件检索的结果可以直接处理,或放在 ADO.NETDataSet对象中以便以一种特殊方式向用户公开,与来自多个数据源的数据合并或在各层之间远程传播。 对编写托管代码的开发人员的支持该功能类似于 ADO 向本机 COM 开发人员提供的功能。 索引功能以实现最佳性能SqlCeCommand.SetRange限制通过SqlCeDataReader.Read和SqlCeDataReader.Seek调用可见的行项集。SqlCeDataReader.Seek允许在当前范围内的关键值处

35、直接定位。 通过SqlCeReplication和SqlCeRemoteDataAccess类与 SQL Server CE Replication 和远程数据访问 (RDA) 对象进行交互所需的接口 支持数据库创建和压缩的SqlCeEngine类方法。 参数化查询在SqlCeCommand.CommandText属性中,所有参数占位符必须用问号 (?) 代替。不支持命名的参数。 数据库加密和密码保护 SqlCeDataReader.GetValue返回类型SqlDecimal的值。命名空间中的SqlCeDataReader.GetValue方法返回类型的值,而命名空间中的SqlDataRea

36、der.GetValue方法返回类型System.Decimal的值。提供程序限制有以下限制: 仅支持与 SQL Server CE 数据源的一个并行连接。不过,与不同的是,支持在同一连接上创建的多个数据读取器。 不支持批查询。查询必须是单个 SQL 语句。例如,下面的语句是有效的:1. SELECT*FROMCustomers下面的语句是无效的:2. SELECT*FROMCustomers;SELECT*FROMCustomers2Datasets必须从SqlCeDataAdapter中刷新。如果使用的是 Visual Studio .NET 项目中的代码,必须修改 SQL 语句以遵守此限

37、制。 不支持嵌套或并行事务。 不支持命名的参数。使用可以使用命名空间开发基于 Microsoft Windows CE .NET 的应用程序,这些应用程序将访问 Microsoft SQL Server 7.0 或更高版本中的数据库。是 SQL Server .NET Framework 精简版数据提供程序。该数据提供程序与 .NET Framework 的命名空间相对应。与它在 .NET Framework 中的副本一样,.NET Framework 精简版中的是特定类的集合,这些类可用于从基于 Windows CE .NET 的设备中访问包含托管代码的 SQL Server 数据库。除非另

38、外说明,否则命名空间中的所有对象与 .NET Framework 的命名空间中的相应对象相匹配。提供程序限制以下列表描述了适用于基于 Windows CE .NET 的设备和 .NET Framework 精简版的限制和例外情况: 不受支持的类不支持SqlClientPermission和SqlClientPermissionAttribute类。 ConnectionString属性在基于 Windows CE .NET 的设备上,使用的应用程序可能使用 Windows 身份验证协议,而不是使用 SQL Server 身份验证。为此,连接字符串必须包含以下属性。属性值集成安全性SSPI用户

39、IDDomainusername密码另外,不支持以下ConnectionString属性:AttachDBFilename、Max Pool Size、Min Pool Size、Connection Lifetime、Connection Reset、Enlist、Pooling、Network Library 和 Encrypt。 ANSI 数据仅在基于英语的设备上,才支持 SQL_Latin1_General_CP1_CI_AS 排序规则的 ANSI 数据。.NET Framework 中的所有字符串都是 Unicode。使用 .NET Framework 编码类将 SQL Server

40、 中的 ANSI 数据转换为 Unicode。尽管在 .NET Framework 精简版中支持编码类,但并非支持所有代码页。此外,如果基于 Windows CE .NET 的设备未提供 ANSI 列的代码页,则不能读取或写入该列。如果不能使用 ANSI 到 Unicode 转换的代码页,就会生成错误。有关可用于基于 Windows CE .NET 的特定设备的代码页的信息,请与设备制造商联系。 连接池不支持连接池。任何时候,设备与 SQL Server 实例都只能有少量的连接。 分布式事务不支持分布式事务。事务不能跨数据库或服务器。在分布式事务期间产生 InvalidOperationExc

41、eption 异常。 网络库选择只支持与 SQL Server 实例的 TCP/IP 连接。不能通过设备插座连接到 SQL Server。 网络库加密不支持与 SQL Server 实例的加密连接。如果运行 SQL Server 的计算机上安装了安全套接层 (SSL) 证书,连接将失败。 Windows 身份验证支持 Windows 身份验证;不过,必须始终在连接字符串中指定用于域控制器中的身份验证的用户 ID 和密码。有关更多信息,请参见 .NET Framework 精简版 SDK 中的命名空间参考。使用 SQL Server CE 管理数据可以使用 Microsoft ADO.NET 访

42、问设备上的 Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) 数据库。SQL Server CE 提供了与基本关系数据库功能相似的 SQL Server 编程模型,即数据库存储区、查询处理器以及可靠且可伸缩的连接。SQL Server CE 连接解决方案使用 Web 协议 HTTP 或 HTTPS 进行通信。在使用连接解决方案之前,必须在运行 IIS 的计算机上安装 SQL Server CE Server Tools。SQL Server CE 支持以下连接解决方案,这些连接解决方案用于管理设备上的 SQL Server

43、 CE 数据库和服务器上的 SQL Server 数据库之间的数据: 合并复制 远程数据访问 (RDA)在通过 HTTP 使用复制或 RDA 访问 SQL Server 的数据库之前,必须设置一个虚拟目录并配置相应的 NTFS 权限。有关更多信息,请参见SQL Server CE 联机手册的配置连接安全性。合并复制SQL Server CE 中的合并复制基于 Microsoft SQL Server 2000 中实现的合并复制。合并复制非常适合移动设备,因为它使移动设备和服务器上的数据可以分别更新。以后当设备连接到服务器时,设备和服务器上的数据可以同步。合并复制的常见方案包括:只读复制,数据捕

44、获和上载,以及复制、更新和同步。大多数应用程序将这些方案组合起来使用。例如,销售支持应用程序可能使用只读复制将价格表下载到设备中,同时依靠数据捕获和上载捕获设备上的新订单,然后将它们上载到服务器中。可以使用水平和垂直筛选器定义和维护不同客户端或客户端组的唯一数据子集。水平筛选器可用于复制已发布的表行的子集。垂直筛选器可用于复制已发布的表列的子集。有关更多信息,请参见SQL Server CE 联机手册的使用复制。若要实现复制,请使用命名空间的SqlCeReplication类。远程数据访问RDA 为基于 Windows CE .NET 的应用程序提供了访问位于 Microsoft SQL Se

45、rver 7.0 版或 SQL Server 2000 远程实例上的数据库的简单方法。当不需要使用合并复制的完整功能时可以使用 RDA。使用 RDA 时不需要配置 SQL Server 复制或创建发布。应用程序可以用两种方式使用 RDA:一种是应用程序提交数据操作语言 (DML) 语句,该语句被转交到 SQL Server 系统以执行,另一种是应用程序提供返回行集合的 SQL 查询。结果行集合被传送到基于 Windows CE 的设备,并以表的形式存储在那里。还选择跟踪应用程序所做的所有更改。当应用程序发出请求时,更新的行被发送回服务器,并在那里应用于 SQL Server 数据库。有关更多信

46、息,请参见SQL Server CE 联机手册的使用远程数据访问。若要实现 RDA,请使用命名空间的SqlCeRemoteDataAccess类。有关 SQL Server CE 的更多信息,请参见SQL Server CE 联机手册配置 SQL Server CE 开发环境Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) 的开发环境可配置为单服务器环境或多服务器环境。基于 Windows CE .NET 的设备可直接连接到单服务器或多服务器开发环境。根据服务器配置的不同,可能需要在多台计算机上安装 SQL Server

47、CE Server Tools。布署和调试应用程序必须使用 Microsoft ActiveSync。多台服务器通常用在生产环境中(特别是在公司中),因为它们提供了更大的灵活性,并且能够更好地满足复杂的安全需要。但是,如果您是首次设置 SQL Server CE,可以考虑设置单服务器环境。这样可以将所有必要的服务器软件安装在一台计算机上。若要进一步简化设置,可以将单服务器和开发环境组合在一台计算机上,创建一个完整的开发和测试环境。成功设置了单服务器环境后,可以很容易地迁移到多服务器环境。注意可以使用模拟器测试应用程序;不过,在通过模拟器运行应用程序时不能使用安全套接层 (SSL) 加密。安装

48、Visual Studio .NET 时会自动配置 SQL Server CE 的开发环境。在安装 Visual Studio 后,还必须配置 Microsoft Internet 信息服务 (IIS) 系统和基于 Windows CE .NET 的设备。运行 IIS 的计算机上还必须安装 SQL Server CE Server Tools。SQL Server CE Server Tools 只与 SQL Server 2000 Service Pack 1 和更高版本兼容。在同时运行 IIS 和 SQL Server 2000 的计算机上安装 SQL Server CE Server T

49、ools 时,要确保 SQL Server CE Server Tools 的安装程序与 SQL Server 2000 版本相对应。文件名兼容版本Sqlcesql2ksp1.exeSQL Server 2000 Service Pack 1Sqlcesql2ksp2.exeSQL Server 2000 Service Pack 2SQL Server CE 组件位置SQL Server CE 组件包含在 Microsoft Visual Studio .NET 中。下表按文件位置列出了安装在开发计算机上的文件。默认情况下,这些文件和位置在 Program FilesMicrosoft Vi

50、sual Studio .NET 2003CompactFrameworkSDKv1.0.5000 中创建。位置内容Windows CE包含 SQL Server CE Assemblies、System.Data.SqlServerCe.dll 和的文件夹。Windows CEwce300和Windows CEwce400一系列子文件夹,包含 CAB 文件 Scessor.cab、Sqlce.cab 和 Scessor.cab。每个文件夹与 Windows CE 操作系统的一个版本和一个处理器类型相对应。Sqlce.platfo

51、cessor.cab 包含 SQL Server CE 所需的全部文件。Sqlce.cab 包含 Isqlw20.exe(实现 SQL Server CE 查询分析器的程序)和 Ssceerror20en.dll(提供在开发期间使用的错误说明的 DLL)。Scessor.cab 包含使用所需的全部文件。包含 SQL Server CE 联机手册 (Sqlce.chm)、SQL Server CE Server Tools 自解压缩可执行文件(Sqlcesql2ksp1.exe 或 Sqlcesql2ksp2.exe)和 ActiveSync 的 SQL

52、 Server CE Relay 扩展 (SSCERelay.exe)。Samples一系列包含示例应用程序的文件夹。有关安装问题的更多信息,请参见SQL Server CE 联机手册中的以下主题: 在 IIS 系统上安装 SQL Server CE 在基于 Windows CE 的设备上安装 SQL Server CE请参见在Wince和Windows Mobile下最常用的数据库为SQL CE,SQL CE也曾经叫做SQL Server for Windows CE和SQL ServerMobile Edition,最新版本命名为SQL Server Compact 3.5 SP1。 SQ

53、L Server Compact不仅仅能运行于Wince和Windows Mobile,而且能运行于Windows的PC上,是Access的有效替代品,如果不使用存储过程,在SQL Server Compact下开发的程序几乎可以无修改移植到SQL Server的其他服务器版本上。可以参见这篇文章 SQL Server Express和SQL Server Compact的应用。在这篇文章中我会使用SQL CE这一命名。在.NET Compact Framework下进行SQL CE使用和开发,需要应用库,需要注意的是不同的SQL CE版本使用不用的DLL版本. SQL CE 3.5的库一般对

54、应以下的目录 C:Program FilesMicrosoft SQL Server Compact Editionv3.5 ADO.net DLL,而SQL CE 3.0的库一般对应以下的目录 C:Program FilesMicrosoft Visual Studio 8SmartDevicesSDKSQL ServerMobile,彼此不相兼容。由于开发的命名空间(namespace)是一致的,所以开发的程序可以用在不用的SQL CE版本。helper类下面演示的是一个SQL CE的helper类,这个类只是针对SQL CE数据库,没有考虑移植到其他数据库,所以所有的类都使用SQL CE相关的类。classSqlCeHelper:IDispo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论