Share via


SqlCeConnection クラス

SQL Server Compact 3.5 データ ソースへの開いた接続を表します。

名前空間:  System.Data.SqlServerCe
アセンブリ:  System.Data.SqlServerCe (System.Data.SqlServerCe.dll)

構文

'宣言
Public NotInheritable Class SqlCeConnection _
    Inherits DbConnection
'使用
Dim instance As SqlCeConnection
public sealed class SqlCeConnection : DbConnection
public ref class SqlCeConnection sealed : public DbConnection
[<SealedAttribute>]
type SqlCeConnection =  
    class
        inherit DbConnection
    end
public final class SqlCeConnection extends DbConnection

説明

SqlCeConnection オブジェクトは、データ ソースへの一意な接続を表します。SqlCeConnection のインスタンスを作成すると、すべてのプロパティが初期値に設定されます。これらの初期値の一覧については、SqlCeConnection コンストラクタのトピックを参照してください。

SqlCeConnection は、適用範囲外では閉じられません。そのため、Close または Dispose を呼び出して、明示的に接続を閉じる必要があります。

SQL Server Compact 3.5 では、複数のコマンドによる同一接続の共有、および複数の同時接続がサポートされます。したがって、同じ接続で SqlCeDataReader の複数のインスタンスを開いて使用できます。この動作は、System.Data.SqlClient の動作とは異なります。

SqlCeCommand を実行するメソッドで致命的な SqlCeException が生成された場合、SqlCeConnection が閉じられる可能性があります。ユーザーは接続を再び開いて、処理を継続できます。

現在の SQL Server Compact 3.5 は、Web サイトに使用するデータベースとして最適化されていません。既定では、ASP.NET 接続アプリケーションからの接続は、SQL Server Compact 3.5 内でブロックされます。SQL Server Compact 3.5 は、アプリケーション内で組み込み型データベースとして使用するために最適化されています。SQL Server Compact 3.5 を Web サイト用のデータベースとして使用するには、複数ユーザーやデータの同時更新をサポートする必要があります。これにより、パフォーマンスに問題が発生する可能性があります。このため、これらの利用方法はサポートされていません。SQL Server Express など、他のエディションの SQL Server は、Web サイトに使用するデータベースとして最適化されています。

同期する場合のために ASP.NET を使用して SQL Server Compact 3.5 データベースを作成するアプリケーションでは、SQL Server Compact 3.5 を ASP.NET で使用できます。ASP.NET で動作するように SQL Server Compact 3.5 の既定の動作を変更するには、次のコードを使用してください。

AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true)

使用例

SqlCeCommand および SqlCeConnection を作成する例を次に示します。SqlCeConnection が開かれ、SqlCeCommand 用の Connection として設定されます。この例では、次に、ExecuteNonQuery を呼び出し、接続を閉じます。

Dim conn As SqlCeConnection = Nothing

Try
    conn = New SqlCeConnection("Data Source = MyDatabase.sdf; Password ='<pwd>'")
    conn.Open()

    Dim cmd As SqlCeCommand = conn.CreateCommand()
    cmd.CommandText = "INSERT INTO Customers ([Customer ID], [Company Name]) Values('NWIND', 'Northwind Traders')"

    cmd.ExecuteNonQuery()
Finally
    conn.Close()
End Try
SqlCeConnection conn = null;

try
{
    conn = new SqlCeConnection("Data Source = MyDatabase.sdf; Password ='<pwd>'");
    conn.Open();

    SqlCeCommand cmd = conn.CreateCommand();
    cmd.CommandText = "INSERT INTO Customers ([Customer ID], [Company Name]) Values('NWIND', 'Northwind Traders')";

    cmd.ExecuteNonQuery();
}
finally
{
    conn.Close();
}

継承階層

System. . :: . .Object
  System. . :: . .MarshalByRefObject
    System.ComponentModel. . :: . .Component
      System.Data.Common. . :: . .DbConnection
        System.Data.SqlServerCe..::..SqlCeConnection

スレッド セーフ

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

関連項目

参照

SqlCeConnection メンバー

System.Data.SqlServerCe 名前空間

SqlCeDataAdapter

SqlCeCommand