SqlCeEngine 类

表示 SQL Server Compact Engine 对象的属性、方法及其他对象。无法继承此类。

继承层次结构

System.Object
  System.Data.SqlServerCe.SqlCeEngine

命名空间:  System.Data.SqlServerCe
程序集:  System.Data.SqlServerCe(在 System.Data.SqlServerCe.dll 中)

语法

声明
Public NotInheritable Class SqlCeEngine _
    Implements IDisposable
用法
Dim instance As SqlCeEngine
public sealed class SqlCeEngine : IDisposable
public ref class SqlCeEngine sealed : IDisposable
[<SealedAttribute>]
type SqlCeEngine =  
    class
        interface IDisposable
    end
public final class SqlCeEngine implements IDisposable

SqlCeEngine 类型公开以下成员。

构造函数

  名称 说明
公共方法 SqlCeEngine() 初始化 SqlCeEngine 类的新实例。
公共方法 SqlCeEngine(String) 使用指定的本地连接字符串初始化 SqlCeEngine 类的新实例。

页首

属性

  名称 说明
公共属性 LocalConnectionString 获取或设置 SQL Server Compact 数据库的连接字符串。

页首

方法

  名称 说明
公共方法 Compact 通过从现有文件新建数据库文件来回收 SQL Server Compact 数据库中浪费的空间。此方法还可用来更改数据库的排序顺序、加密或密码设置。
公共方法 CreateDatabase 创建新数据库。
公共方法 Dispose 释放所有 SQL Server CompactSqlCeEngine 资源。
公共方法 Equals (继承自 Object
受保护方法 Finalize (继承自 Object
公共方法 GetHashCode (继承自 Object
公共方法 GetType (继承自 Object
受保护方法 MemberwiseClone (继承自 Object
公共方法 Repair 修复损坏的数据库。
公共方法 Shrink 通过将空页移动到文件的结尾然后截断文件,来回收 SQL Server Compact 数据库中浪费的空间。
公共方法 ToString (继承自 Object
公共方法 Upgrade() 将 SQL Server Compact 数据库从版本 3.5 升级到 4.0。如果源数据库是加密的数据库,升级后的数据库也将是加密的数据库。如果源数据未加密,升级后的数据库也将是不加密的数据库。
公共方法 Upgrade(String) 将 SQL Server Compact 数据库从版本 3.5 升级到 4.0。如果在目标连接字符串中指定了加密模式,则目标数据库将被加密。如果将连接字符串中的 case-sensitive 属性设置为 true,则数据库的排序规则为区分大小写。
公共方法 Verify() 重新计算数据库中的各页校验和,然后将新的校验和与预期的值进行比较。
公共方法 Verify(VerifyOption) 根据 VerifyOption 验证数据库的完整性。

页首

注释

SQL Server Compact 已经过优化以作为网站和 Web 应用程序的数据库。SQL Server Compact 已经过优化以作为 Web 应用程序中的嵌入式数据库。SQL Server Compact 可作为多个用户和并发数据更改的网站的数据库。

SQL Server Compact 可用于开发 ASP.NET Web 应用程序。在 SQL Server Compact 的早期版本中,必须设置标志 SQLServerCompactEditionUnderWebHosting 以在 ASP.NET Web 应用程序中使用 SQL Server Compact。SQL Server Compact 4.0 中已删除该标志。

示例

下面的示例说明如何创建一个新的 SQL Server Compact 数据库。

If File.Exists("Test.sdf") Then
   File.Delete("Test.sdf")
End If 
Dim connStr As String = "Data Source = Test.sdf; Password = <password>"

Dim engine As New SqlCeEngine(connStr)
engine.CreateDatabase()
engine.Dispose()

Dim conn As SqlCeConnection = Nothing

Try
   conn = New SqlCeConnection(connStr)
   conn.Open()

   Dim cmd As SqlCeCommand = conn.CreateCommand()
   cmd.CommandText = "CREATE TABLE myTable (col1 int, col2 ntext)"
   cmd.ExecuteNonQuery()
Catch
Finally
   conn.Close()
End Try
if (File.Exists("Test.sdf"))
    File.Delete("Test.sdf");

string connStr = "Data Source = Test.sdf; Password = <password>";

SqlCeEngine engine = new SqlCeEngine(connStr);
engine.CreateDatabase();
engine.Dispose();

SqlCeConnection conn = null;

try {
    conn = new SqlCeConnection(connStr);
    conn.Open();

    SqlCeCommand cmd = conn.CreateCommand();
    cmd.CommandText = "CREATE TABLE myTable (col1 int, col2 ntext)";
    cmd.ExecuteNonQuery();
}
catch {}
finally {
    conn.Close();
}

线程安全

此类型的任何公共静态(在 Microsoft Visual Basic 中为共享)成员是线程安全的。不保证所有实例成员都对于线程安全的。

请参阅

参考

System.Data.SqlServerCe 命名空间