SqlCeCommand.Prepare メソッド
アセンブリ: System.Data.SqlServerCe (system.data.sqlserverce.dll 内)


例外の種類 | 条件 |
---|---|
InvalidOperationException | Connection が設定されていません。 または Connection が Open ではありません。 |

CommandType プロパティを TableDirect に設定したときは、Prepare では何も実行されません。
Prepare を呼び出す前に、準備するステートメントの各パラメータのデータ型を指定します。可変長データ型のパラメータの場合は、Size プロパティを、必要な最大サイズに設定する必要があります。これらの条件が満たされていない場合は、Prepare からエラーが返されます。
Prepare を呼び出した後で Execute メソッドを呼び出すと、Size プロパティに指定した値よりも大きいパラメータ値は、パラメータで指定したサイズに自動的に切り詰められます。このとき、切り捨てエラーは返されません。

Dim conn As New SqlCeConnection("Data Source = MyDatabase.sdf;") conn.Open() Dim command As SqlCeCommand = conn.CreateCommand() ' Create and prepare a SQL statement ' command.CommandText = "INSERT INTO Region (RegionID, RegionDescription) VALUES (@id, @desc)" Dim param As SqlCeParameter = Nothing ' NOTE: ' For optimal performance, make sure you always set the parameter ' type and the maximum size - this is especially important for non-fixed ' types such as NVARCHAR or NTEXT; In case of named parameters, ' SqlCeParameter instances do not need to be added to the collection ' in the order specified in the query; If however you use ? as parameter ' specifiers, then you do need to add the parameters in the correct order ' param = New SqlCeParameter("@id", SqlDbType.Int) command.Parameters.Add(param) param = New SqlCeParameter("@desc", SqlDbType.NVarChar, 100) command.Parameters.Add(param) command.Parameters("@desc").Size = 100 ' Calling Prepare after having set the CommandText and parameters ' command.Prepare() ' Execute the SQL statement ' command.ExecuteNonQuery() ' Change parameter values and call ExecuteNonQuery again ' command.Parameters(0).Value = 21 command.Parameters(1).Value = "mySecondRegion" command.ExecuteNonQuery()
SqlCeConnection conn = new SqlCeConnection("Data Source = MyDatabase.sdf;"); conn.Open(); SqlCeCommand command = conn.CreateCommand(); // Create and prepare a SQL statement // command.CommandText = "INSERT INTO Region (RegionID, RegionDescription) VALUES (@id, @desc)"; SqlCeParameter param = null; // NOTE: // For optimal performance, make sure you always set the parameter // type and the maximum size - this is especially important for non-fixed // types such as NVARCHAR or NTEXT; In case of named parameters, // SqlCeParameter instances do not need to be added to the collection // in the order specified in the query; If however you use ? as parameter // specifiers, then you do need to add the parameters in the correct order // param = new SqlCeParameter("@id", SqlDbType.Int); command.Parameters.Add(param); param = new SqlCeParameter("@desc", SqlDbType.NVarChar, 100); command.Parameters.Add(param); command.Parameters["@desc"].Size = 100; // Calling Prepare after having set the CommandText and parameters // command.Prepare(); // Execute the SQL statement // command.ExecuteNonQuery(); // Change parameter values and call ExecuteNonQuery again // command.Parameters[0].Value = 21; command.Parameters[1].Value = "mySecondRegion"; command.ExecuteNonQuery();


Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows XP Professional x64 Edition, Windows XP SP2
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からSqlCeCommand.Prepare メソッドを検索する場合は、下記のリンクをクリックしてください。

- SqlCeCommand.Prepare メソッドのページへのリンク