クラス SQLiteCSLib.SQLiteDataReader
SQLiteデータリーダ.
[詳細]
説明
SQLiteデータリーダ.
SQLiteDataReader.cs の 12 行で定義されています。
コンストラクタとデストラクタ
メソッド
void SQLiteCSLib.SQLiteDataReader.Close |
( |
|
) |
|
void SQLiteCSLib.SQLiteDataReader.Dispose |
( |
|
) |
|
bool SQLiteCSLib.SQLiteDataReader.GetBoolean |
( |
int |
i |
) |
|
真偽取得 ※擬似サポート
- 引数:
-
- 戻り値:
- 真偽値
SQLiteDataReader.cs の 244 行で定義されています。
00245 {
00246 short sVal = (short)m_stmt.getInt( i );
00247
00248 return ( sVal == 0 ) ? false:true;
00249 }
byte SQLiteCSLib.SQLiteDataReader.GetByte |
( |
int |
i |
) |
|
long SQLiteCSLib.SQLiteDataReader.GetBytes |
( |
int |
i, |
|
|
long |
fieldOffset, |
|
|
byte[] |
buffer, |
|
|
int |
bufferoffset, |
|
|
int |
length | |
|
) |
| | |
バイナリ取得
- 引数:
-
| i | カラム位置(0起点) |
| fieldOffset | 読み取り操作を開始するフィールド内のインデックス |
| buffer | バイト ストリームの読み込み先のバッファ |
| bufferoffset | 読み込みを開始する buffer のインデックス |
| length | 読み込むバイト数 |
- 戻り値:
- 読み込みバイト数
SQLiteDataReader.cs の 310 行で定義されています。
00311 {
00312 if( buffer == null )
00313 {
00314 return m_stmt.getSize( i );
00315 }
00316
00317 MemoryStream blobstream = m_stmt.getBlob( i );
00318 blobstream.Seek( fieldOffset, SeekOrigin.Begin );
00319 if( blobstream.Length <= fieldOffset )
00320 return 0;
00321
00322 long lLen = blobstream.Length - fieldOffset;
00323 lLen = ( lLen < (bufferoffset+length) ) ? lLen:(bufferoffset+length);
00324
00325 return (long)blobstream.Read( buffer, bufferoffset, (int)lLen );
00326 }
char SQLiteCSLib.SQLiteDataReader.GetChar |
( |
int |
i |
) |
|
long SQLiteCSLib.SQLiteDataReader.GetChars |
( |
int |
i, |
|
|
long |
fieldoffset, |
|
|
char[] |
buffer, |
|
|
int |
bufferoffset, |
|
|
int |
length | |
|
) |
| | |
文字列取得 ※未サポート
- 引数:
-
| i | カラム位置(0起点) |
| fieldoffset | 読み取り操作を開始する行内のインデックス |
| buffer | バイト ストリームの読み込み先のバッファ |
| bufferoffset | 読み込みを開始する buffer のインデックス |
| length | 読み込むバイト数 |
- 戻り値:
- 実際に読み込んだ文字数
SQLiteDataReader.cs の 517 行で定義されています。
00518 {
00519 return 0;
00520 }
string SQLiteCSLib.SQLiteDataReader.GetColumnDecltype |
( |
int |
i |
) |
|
string SQLiteCSLib.SQLiteDataReader.GetColumnOriginalName |
( |
int |
i |
) |
|
string SQLiteCSLib.SQLiteDataReader.GetColumnTableName |
( |
int |
i |
) |
|
IDataReader SQLiteCSLib.SQLiteDataReader.GetData |
( |
int |
i |
) |
|
string SQLiteCSLib.SQLiteDataReader.GetDataTypeName |
( |
int |
i |
) |
|
DateTime SQLiteCSLib.SQLiteDataReader.GetDateTime |
( |
int |
i |
) |
|
decimal SQLiteCSLib.SQLiteDataReader.GetDecimal |
( |
int |
i |
) |
|
double SQLiteCSLib.SQLiteDataReader.GetDouble |
( |
int |
i |
) |
|
Type SQLiteCSLib.SQLiteDataReader.GetFieldType |
( |
int |
i |
) |
|
型取得
- 引数:
-
- 戻り値:
- 型
SQLiteDataReader.cs の 398 行で定義されています。
00399 {
00400 object fieldval = GetValue( i );
00401 if( fieldval == null )
00402 return null;
00403 return fieldval.GetType();
00404 }
float SQLiteCSLib.SQLiteDataReader.GetFloat |
( |
int |
i |
) |
|
Guid SQLiteCSLib.SQLiteDataReader.GetGuid |
( |
int |
i |
) |
|
short SQLiteCSLib.SQLiteDataReader.GetInt16 |
( |
int |
i |
) |
|
int SQLiteCSLib.SQLiteDataReader.GetInt32 |
( |
int |
i |
) |
|
long SQLiteCSLib.SQLiteDataReader.GetInt64 |
( |
int |
i |
) |
|
string SQLiteCSLib.SQLiteDataReader.GetName |
( |
int |
i |
) |
|
int SQLiteCSLib.SQLiteDataReader.GetOrdinal |
( |
string |
name |
) |
|
DataTable SQLiteCSLib.SQLiteDataReader.GetSchemaTable |
( |
|
) |
|
データスキーマ作成
- 戻り値:
- DataTableクラス(インメモリ データ)
SQLiteDataReader.cs の 115 行で定義されています。
00116 {
00117 DataTable dt = new DataTable();
00118
00119 int iColCnt = -1;
00120
00121 while( Read() == true )
00122 {
00123 if( iColCnt == -1 )
00124 {
00125 iColCnt = m_stmt.column_count();
00126
00127 for( int iCol=0; iCol<iColCnt; iCol++ )
00128 {
00129
00130 DataColumn dc = new DataColumn();
00131 Type fieldtype = GetFieldType( iCol );
00132 if( fieldtype != null )
00133 {
00134 dc.DataType = fieldtype;
00135 }
00136 dc.Caption = m_stmt.getColumnName( iCol );
00137 dc.ColumnName = dc.Caption;
00138 dt.Columns.Add( dc );
00139 }
00140 }
00141
00142
00143 object[] rowdata = new object[iColCnt];
00144 int iResCnt = GetValues(rowdata);
00145 DataRow row = dt.NewRow();
00146 for( int iIdx=0; iIdx<iResCnt; iIdx++ )
00147 {
00148 row[ dt.Columns[iIdx] ] = rowdata[ iIdx ] ;
00149 }
00150 dt.Rows.Add( row );
00151 }
00152
00153 return dt;
00154 }
string SQLiteCSLib.SQLiteDataReader.GetString |
( |
int |
i |
) |
|
object SQLiteCSLib.SQLiteDataReader.GetValue |
( |
int |
i |
) |
|
値取得
- 引数:
-
- 戻り値:
- 値(long,double,string,byte[],null)
SQLiteDataReader.cs の 333 行で定義されています。
00334 {
00335 switch( m_stmt.getType( i ) )
00336 {
00337 case DATATYPE.INTEGER:
00338 return GetInt64( i );
00339
00340 case DATATYPE.FLOAT:
00341 return GetDouble( i );
00342
00343 case DATATYPE.TEXT:
00344 return GetString( i );
00345
00346 case DATATYPE.BLOB:
00347 {
00348 long binsize = GetBytes( i, 0, null, 0, 0 );
00349 byte[] val = new byte[binsize];
00350 GetBytes( i, 0, val, 0, (int)binsize );
00351 return val;
00352 }
00353
00354 case DATATYPE.DBNULL:
00355 return null;
00356 }
00357
00358 return null;
00359 }
int SQLiteCSLib.SQLiteDataReader.GetValues |
( |
object[] |
values |
) |
|
全カラム取得
- 引数:
-
- 戻り値:
- 結果セット数
SQLiteDataReader.cs の 366 行で定義されています。
00367 {
00368 int iResCount = 0;
00369
00370 int iResultCol = m_stmt.column_count();
00371 for( int iValIdx=0; iValIdx<values.Length; iValIdx++ )
00372 {
00373 if( iValIdx >= iResultCol )
00374 break;
00375
00376 values[ iValIdx ] = GetValue( iValIdx );
00377 iResCount++;
00378 }
00379
00380 return iResCount;
00381 }
bool SQLiteCSLib.SQLiteDataReader.IsDBNull |
( |
int |
i |
) |
|
bool SQLiteCSLib.SQLiteDataReader.NextResult |
( |
|
) |
|
bool SQLiteCSLib.SQLiteDataReader.Read |
( |
|
) |
|
次にステップ
- 戻り値:
SQLiteDataReader.cs の 86 行で定義されています。
00087 {
00088 ResultEnum iRes = m_stmt.Step();
00089 if( iRes == ResultEnum.ROW )
00090 return true;
00091
00092 if( iRes != ResultEnum.DONE &&
00093 iRes != ResultEnum.OK &&
00094 iRes != ResultEnum.NOTFOUND )
00095 throw new SQLiteException( m_stmt );
00096
00097 return false;
00098 }
構造体
プロパティ
int SQLiteCSLib.SQLiteDataReader.Depth [get] |
int SQLiteCSLib.SQLiteDataReader.FieldCount [get] |
bool SQLiteCSLib.SQLiteDataReader.IsClosed [get] |
int SQLiteCSLib.SQLiteDataReader.RecordsAffected [get] |
object SQLiteCSLib.SQLiteDataReader.this[string name] [get] |
このクラスの説明は次のファイルから生成されました: