SQLCE数据库操作总结.doc_第1页
SQLCE数据库操作总结.doc_第2页
SQLCE数据库操作总结.doc_第3页
SQLCE数据库操作总结.doc_第4页
SQLCE数据库操作总结.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

创建新的数据库SQL Server CE 中的数据库是存储结构化数据的表集合。在可以存储数据库之前,必须创建数据库。在创建数据库之后,可以创建保存数据的表。在本节中,您将创建一个新的数据库,然后创建一个表,最后将数据添加到该表中。若要执行这些步骤,请使用 SQL Server CE (System.Data.SqlServerCe) .NET Framework 精简版数据提供程序的 SqlCeConnection、SqlCeEngine 和 SqlCeCommand 类。注意不能在此任务中运行仅用于特定步骤的代码。有关完整代码列表,请参见代码列表:使用 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.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 编程语言读取现有数据,请使用 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 执行此任务,您需要 SqlCeDataReader 和 SqlCeCommand 对象。注意有关完整代码列表,请参见代码列表:使用 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 数据库中的数据在创建表后,可以以多种方式修改表中的数据:更改特定数据的属性,添加和删除数据行,甚至还可以通过修改表中的列来更改存储数据的方式。在本节中,您将更改表项的值,查找更改的表的数据并处理所有错误。为执行这些步骤,您将使用在前面的任务中使用的类:SqlCeCommand 和 SqlCeDataReader。另外,您将使用 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); forea

温馨提示

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

评论

0/150

提交评论