クラス SQLiteCSLib.SQLiteCommand

SQLiteコマンド. [詳細]

SQLiteCSLib.SQLiteCommandのコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

Public メソッド

 SQLiteCommand ()
 コンストラクタ
 SQLiteCommand (SQLiteConnection connect)
 コンストラクタ
void Cancel ()
 キャンセル ※全体に影響する
void Prepare ()
 コマンド予約 SQLコマンドを準備する為に、設定されたパラメータをバインドパラメータにセットします。
IDataReader ExecuteReader (CommandBehavior behavior)
 読込みSQL実行 コマンド予約していない場合、コマンド予約を行う。 実行完了後、パラメータをリセットします。 ※未サポート
object ExecuteScalar ()
 単一行結果用SQL実行 コマンド予約していない場合、コマンド予約を行う。 実行完了後、パラメータをリセットします。
int ExecuteNonQuery ()
 SQL実行 コマンド予約を行います。 実行完了後、パラメータをリセットします。.
IDbDataParameter CreateParameter ()
 パラメータ作成
new void Dispose ()
 デストラクタ
object Clone ()

Protected メソッド

void bindparams (OSQLiteStmtWrap stmt)
 パラメータをバインドする

Protected 変数

SQLiteConnection m_connect = null
 SQLite接続.
SQLiteTransaction m_transaction = null
 SQLiteトランザクション.
SQLiteParameterCollection m_collection = new SQLiteParameterCollection()
 パラメータリスト
string m_command = ""
 SQLテキスト.
OSQLiteStmtWrap m_stmt = null
 コマンド予約
bool m_prepare = false
 予約完了
CommandType m_cmdtype = CommandType.Text
 コマンドタイプ
UpdateRowSource m_urs = UpdateRowSource.None
 更新行の結果に対する適用方法

プロパティ

System.Data.CommandType CommandType [get, set]
 コマンドタイププロパティ ※未サポート
int CommandTimeout [get, set]
 タイムアウトプロパティ ※未サポート
IDbConnection Connection [get, set]
 接続プロパティ
UpdateRowSource UpdatedRowSource [get, set]
 更新行の結果に対する適用方法プロパティ ※未サポート
string CommandText [get, set]
 SQLコマンド.
IDataParameterCollection Parameters [get]
 パラメータリストプロパティ
IDbTransaction Transaction [get, set]
 トランザクションプロパティ

説明

SQLiteコマンド.

SQLiteCommand.cs14 行で定義されています。


コンストラクタとデストラクタ

SQLiteCSLib.SQLiteCommand.SQLiteCommand (  ) 

コンストラクタ

SQLiteCommand.cs49 行で定義されています。

00050                 {
00051                 }

SQLiteCSLib.SQLiteCommand.SQLiteCommand ( SQLiteConnection  connect  ) 

コンストラクタ

引数:
connect SQLite接続

SQLiteCommand.cs57 行で定義されています。

00058                 {
00059                         m_connect = connect;
00060                 }


メソッド

void SQLiteCSLib.SQLiteCommand.bindparams ( OSQLiteStmtWrap  stmt  )  [protected]

パラメータをバインドする

引数:
stmt STMTラッパー

SQLiteCommand.cs97 行で定義されています。

00098                 {
00099                         int iCnt = 1;
00100 
00101                         ArrayList paramlist = new ArrayList( Parameters );
00102                         paramlist.Sort();
00103 
00104                         stmt.Reset();
00105 
00106                         //バインド変数セット
00107                         foreach( SQLiteParameter para in paramlist )
00108                         {
00109                                 //NULL値
00110                                 if( para.Value == null )
00111                                 {
00112                                         stmt.bindNull( iCnt );
00113                                 }
00114                                 else
00115                                         if( para.DbType == DbType.String )
00116                                 {
00117                                         stmt.bindText( iCnt, (string)para.Value );
00118                                 }
00119                                 else
00120                                         if( para.DbType == DbType.Int64 )
00121                                 {
00122                                         stmt.bindInt64( iCnt, (long)para.Value );
00123                                 }
00124                                 else
00125                                         if( para.DbType == DbType.Int32 || para.DbType == DbType.Int16 )
00126                                 {
00127                                         stmt.bindInt( iCnt, (int)para.Value );
00128                                 }
00129                                 else
00130                                         if( para.DbType == DbType.Boolean )
00131                                 {
00132                                         stmt.bindBool( iCnt, (bool)para.Value );
00133                                 }
00134                                 else
00135                                         if( para.DbType == DbType.Double )
00136                                 {
00137                                         stmt.bindDouble( iCnt, (double)para.Value );
00138                                 }
00139                                 else
00140                                         if( para.DbType == DbType.Decimal )
00141                                 {
00142                                         stmt.bindDecimal( iCnt, (decimal)para.Value );
00143                                 }
00144                                 else
00145                                         if( para.DbType == DbType.Binary )
00146                                 {
00147                                         byte[] bindbin = (byte[])para.Value;
00148                                         stmt.bindBlob( iCnt, new MemoryStream( bindbin ) );
00149                                 }
00150 
00151                                 iCnt++;
00152                         }               
00153                 }

void SQLiteCSLib.SQLiteCommand.Cancel (  ) 

キャンセル ※全体に影響する

SQLiteCommand.cs66 行で定義されています。

00067                 {
00068                         m_connect.OSQLiteDB.Interrupt();
00069                 }

IDbDataParameter SQLiteCSLib.SQLiteCommand.CreateParameter (  ) 

パラメータ作成

戻り値:

SQLiteCommand.cs311 行で定義されています。

00312                 {
00313                         return new SQLiteParameter();
00314                 }

new void SQLiteCSLib.SQLiteCommand.Dispose (  ) 

デストラクタ

SQLiteCommand.cs396 行で定義されています。

00397                 {
00398                         m_stmt = null;
00399                 }

int SQLiteCSLib.SQLiteCommand.ExecuteNonQuery (  ) 

SQL実行 コマンド予約を行います。 実行完了後、パラメータをリセットします。.

戻り値:
影響行数

SQLiteCommand.cs248 行で定義されています。

00249                 {
00250                         using( OSQLiteStmtWrap stmt = m_connect.OSQLiteDB.CreateStmt() )
00251                         {
00252                                 if( stmt.Prepate( m_command ) == false )
00253                                 {
00254                                         if( m_connect.OSQLiteDB.getLastErr() != ResultEnum.DONE &&
00255                                                 m_connect.OSQLiteDB.getLastErr() != ResultEnum.ROW &&
00256                                                 m_connect.OSQLiteDB.getLastErr() != ResultEnum.OK )
00257                                         {
00258                                                 //エラー発生
00259                                                 throw new SQLiteException( m_connect );
00260                                         }
00261 
00262                                         return 0;
00263                                 }
00264 
00265                                 //パラメータバインド
00266                                 bindparams( stmt );
00267 
00268                                 m_stmt = null;
00269                                 m_prepare = false;
00270                                 m_collection = new SQLiteParameterCollection();
00271 
00272                                 //結果セットをカウント
00273                                 int iCnt=0;
00274                                 while( true )
00275                                 {
00276                                         ResultEnum ret = stmt.Step();
00277                                         if( ret != ResultEnum.ROW )
00278                                         {
00279                                                 if( ret != ResultEnum.DONE )
00280                                                         //エラー発生
00281                                                         throw new SQLiteException( m_connect );
00282 
00283                                                 break;
00284                                         }
00285                                         iCnt++;
00286                                 }
00287 
00288                                 return ( iCnt <=0 ) ? m_connect.OSQLiteDB.getChanges():iCnt;
00289                         }
00290                 }

IDataReader SQLiteCSLib.SQLiteCommand.ExecuteReader ( CommandBehavior  behavior  ) 

読込みSQL実行 コマンド予約していない場合、コマンド予約を行う。 実行完了後、パラメータをリセットします。 ※未サポート

引数:
behavior データベースに与える影響
戻り値:
SQLiteデータリーダ

SQLiteCommand.cs184 行で定義されています。

00185                 {
00186                         if( m_prepare == false )
00187                         {
00188                                 Prepare();
00189                         }
00190 
00191                         if( m_prepare == false )
00192                         {
00193                                 //失敗
00194                                 throw new SQLiteException( m_connect );
00195                         }
00196 
00197                         OSQLiteStmtWrap stmt = m_stmt;
00198                         m_stmt = null;
00199 
00200                         m_prepare = false;
00201 
00202                         m_collection = new SQLiteParameterCollection();
00203 
00204                         return new SQLiteDataReader( stmt );
00205                 }

object SQLiteCSLib.SQLiteCommand.ExecuteScalar (  ) 

単一行結果用SQL実行 コマンド予約していない場合、コマンド予約を行う。 実行完了後、パラメータをリセットします。

戻り値:
実行結果値

SQLiteCommand.cs224 行で定義されています。

00225                 {
00226                         using ( IDataReader ir = ExecuteReader( CommandBehavior.Default ) )
00227                         {
00228                                 ir.Read();
00229 
00230                                 if( m_connect.OSQLiteDB.getLastErr() != ResultEnum.DONE &&
00231                                         m_connect.OSQLiteDB.getLastErr() != ResultEnum.ROW &&
00232                                         m_connect.OSQLiteDB.getLastErr() != ResultEnum.OK )
00233                                 {
00234                                         //エラー発生
00235                                         throw new SQLiteException( m_connect );
00236                                 }
00237 
00238                                 return ir.GetValue(0);
00239                         }
00240                 }

void SQLiteCSLib.SQLiteCommand.Prepare (  ) 

コマンド予約 SQLコマンドを準備する為に、設定されたパラメータをバインドパラメータにセットします。

SQLiteCommand.cs75 行で定義されています。

00076                 {
00077                         m_stmt = m_connect.OSQLiteDB.CreateStmt();
00078 
00079                         m_prepare = m_stmt.Prepate( m_command );
00080 
00081                         //パラメータバインド
00082                         bindparams( m_stmt );
00083 
00084                         if( m_connect.OSQLiteDB.getLastErr() != ResultEnum.DONE &&
00085                                 m_connect.OSQLiteDB.getLastErr() != ResultEnum.ROW &&
00086                                 m_connect.OSQLiteDB.getLastErr() != ResultEnum.OK )
00087                         {
00088                                 //エラー発生
00089                                 throw new SQLiteException( m_connect );
00090                         }
00091                 }


変数

CommandType SQLiteCSLib.SQLiteCommand.m_cmdtype = CommandType.Text [protected]

コマンドタイプ

SQLiteCommand.cs158 行で定義されています。

パラメータリスト

SQLiteCommand.cs29 行で定義されています。

string SQLiteCSLib.SQLiteCommand.m_command = "" [protected]

SQLテキスト.

SQLiteCommand.cs34 行で定義されています。

SQLite接続.

SQLiteCommand.cs19 行で定義されています。

bool SQLiteCSLib.SQLiteCommand.m_prepare = false [protected]

予約完了

SQLiteCommand.cs44 行で定義されています。

コマンド予約

SQLiteCommand.cs39 行で定義されています。

SQLiteトランザクション.

SQLiteCommand.cs24 行で定義されています。

UpdateRowSource SQLiteCSLib.SQLiteCommand.m_urs = UpdateRowSource.None [protected]

更新行の結果に対する適用方法

SQLiteCommand.cs334 行で定義されています。


プロパティ

string SQLiteCSLib.SQLiteCommand.CommandText [get, set]

SQLコマンド.

SQLiteCommand.cs356 行で定義されています。

int SQLiteCSLib.SQLiteCommand.CommandTimeout [get, set]

タイムアウトプロパティ ※未サポート

SQLiteCommand.cs297 行で定義されています。

System.Data.CommandType SQLiteCSLib.SQLiteCommand.CommandType [get, set]

コマンドタイププロパティ ※未サポート

SQLiteCommand.cs165 行で定義されています。

IDbConnection SQLiteCSLib.SQLiteCommand.Connection [get, set]

接続プロパティ

SQLiteCommand.cs320 行で定義されています。

IDataParameterCollection SQLiteCSLib.SQLiteCommand.Parameters [get]

パラメータリストプロパティ

SQLiteCommand.cs371 行で定義されています。

IDbTransaction SQLiteCSLib.SQLiteCommand.Transaction [get, set]

トランザクションプロパティ

SQLiteCommand.cs382 行で定義されています。

UpdateRowSource SQLiteCSLib.SQLiteCommand.UpdatedRowSource [get, set]

更新行の結果に対する適用方法プロパティ ※未サポート

SQLiteCommand.cs341 行で定義されています。


このクラスの説明は次のファイルから生成されました:

SQLite3 Wrap ADO For .Net1.1 or Compact Frameworkに対してTue Jan 12 12:05:09 2010に生成されました。  doxygen 1.6.1