xlang v5.1 Release
程序设计语言基础库文档
载入中...
搜索中...
未找到
Sqlite.SqlitePreparedStatement类 参考
类 Sqlite.SqlitePreparedStatement 继承关系图:
Inheritance graph
Sqlite.SqlitePreparedStatement 的协作图:
Collaboration graph

Public 成员函数

包属性

额外继承的成员函数

详细描述

在文件 Sqlite.xcsm265 行定义.

构造及析构函数说明

◆ SqlitePreparedStatement() [1/2]

SqlitePreparedStatement ( Sqlite  db,
String  sql 
)

在文件 Sqlite.xcsm275 行定义.

275 {
276 sqlite = db;
277 sql_text = sql;
278 nstmt = sqlite.prepare(sql);
279 }
long prepare(String sql)
Definition Sqlite.xcsm:247

引用了 Sqlite.prepare().

函数调用图:

◆ SqlitePreparedStatement() [2/2]

SqlitePreparedStatement ( Sqlite  db)

在文件 Sqlite.xcsm281 行定义.

281 {
282 sqlite = db;
283 }

成员函数说明

◆ close()

void close ( )
override

重载 Statement .

在文件 Sqlite.xcsm330 行定义.

330 {
331 if (nstmt != 0){
332 Native.sqlite3_finalize(nstmt);
333 nstmt = 0;
334 }
335 sqlite = nilptr;
336 }

◆ execute() [1/2]

int execute ( )
override

重载 PreparedStatement .

在文件 Sqlite.xcsm300 行定义.

300 {
301 int r = Native.sqlite3_step(nstmt);
302 if (101 == r){
303 return 0;
304 }
305 return r;
306 }

◆ execute() [2/2]

int execute ( String  sql)
override

重载 Statement .

在文件 Sqlite.xcsm285 行定义.

285 {
286 return sqlite.execute(sql);
287 }
int execute(String stmt)
Definition Sqlite.xcsm:230

引用了 Sqlite.execute().

函数调用图:

◆ executeQuery() [1/2]

Sql.ResultSet executeQuery ( )
override

重载 PreparedStatement .

在文件 Sqlite.xcsm308 行定义.

308 {
309 return new SqliteResultSet(sqlite, this);
310 }

◆ executeQuery() [2/2]

Sql.ResultSet executeQuery ( String  sql)
override

重载 Statement .

在文件 Sqlite.xcsm312 行定义.

312 {
313 nstmt = sqlite.prepare(sql);
314 return new SqliteResultSet(sqlite, this);
315 }

引用了 Sqlite.prepare().

函数调用图:

◆ executeUpdate() [1/2]

int executeUpdate ( )
override

重载 PreparedStatement .

在文件 Sqlite.xcsm292 行定义.

292 {
293 int r = Native.sqlite3_step(nstmt);
294 if (101 == r){
295 return 0;
296 }
297 return r;
298 }

◆ executeUpdate() [2/2]

int executeUpdate ( String  sql)
override

重载 Statement .

在文件 Sqlite.xcsm317 行定义.

317 {
318 return sqlite.execute(sql);
319 }

引用了 Sqlite.execute().

函数调用图:

◆ get_changes()

int get_changes ( )
override

重载 PreparedStatement .

在文件 Sqlite.xcsm321 行定义.

321 {
322 return sqlite.get_changes();
323 }
int get_changes()
Definition Sqlite.xcsm:243

引用了 Sqlite.get_changes().

函数调用图:

◆ getHandle()

long getHandle ( )

在文件 Sqlite.xcsm271 行定义.

271 {
272 return nstmt;
273 }

◆ getResult()

Sql.ResultSet getResult ( )
override

重载 Statement .

在文件 Sqlite.xcsm325 行定义.

325 {
326 throw new Sql.DatabaseNotSupportException("getResult");
327 return nilptr;
328 }
Definition xsql.xcs:3

◆ reset()

bool reset ( )

在文件 Sqlite.xcsm289 行定义.

289 {
290 return Native.sqlite3_reset(nstmt) == 0;
291 }

◆ setValue() [1/10]

void setValue ( byte  value)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm369 行定义.

369 {
370 int res = Native.sqlite3_bind_int(nstmt, ++param_pos, value);
371 if (0 != res){
373 }
374 }
void throw_sqlite_error()
Definition Sqlite.xcsm:153

引用了 Sqlite.throw_sqlite_error().

函数调用图:

◆ setValue() [2/10]

void setValue ( double  value)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm376 行定义.

376 {
377 int res = Native.sqlite3_bind_double(nstmt, ++param_pos, value);
378 if (0 != res){
380 }
381 }

引用了 Sqlite.throw_sqlite_error().

函数调用图:

◆ setValue() [3/10]

void setValue ( int  id,
byte  value 
)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm414 行定义.

414 {
415 int res = Native.sqlite3_bind_int(nstmt, id, value);
416 if (0 != res){
418 }
419 }

引用了 Sqlite.throw_sqlite_error().

函数调用图:

◆ setValue() [4/10]

void setValue ( int  id,
double  value 
)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm421 行定义.

421 {
422 int res = Native.sqlite3_bind_double(nstmt, id, value);
423 if (0 != res){
425 }
426 }

引用了 Sqlite.throw_sqlite_error().

函数调用图:

◆ setValue() [5/10]

void setValue ( int  id,
int  value 
)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm400 行定义.

400 {
401 int res = Native.sqlite3_bind_int(nstmt, id, value);
402 if (0 != res){
404 }
405 }

引用了 Sqlite.throw_sqlite_error().

函数调用图:

◆ setValue() [6/10]

void setValue ( int  id,
long  value 
)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm407 行定义.

407 {
408 int res = Native.sqlite3_bind_int64(nstmt, id, value);
409 if (0 != res){
411 }
412 }

引用了 Sqlite.throw_sqlite_error().

函数调用图:

◆ setValue() [7/10]

void setValue ( int  id,
String  value 
)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm384 行定义.

384 {
385 stored_params.add(value);
386 int res = 0;
387 if (value != nilptr){
388 res = Native.sqlite3_bind_text(nstmt, id, value, value.length(), nilptr);
389 if (0 != res){
391 }
392 }else{
393 res = Native.sqlite3_bind_null(nstmt, id);
394 if (0 != res){
396 }
397 }
398 }
int length()

引用了 String.length() , 以及 Sqlite.throw_sqlite_error().

函数调用图:

◆ setValue() [8/10]

void setValue ( int  value)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm355 行定义.

355 {
356 int res = Native.sqlite3_bind_int(nstmt, ++param_pos, value);
357 if (0 != res){
359 }
360 }

引用了 Sqlite.throw_sqlite_error().

函数调用图:

◆ setValue() [9/10]

void setValue ( long  value)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm362 行定义.

362 {
363 int res = Native.sqlite3_bind_int64(nstmt, ++param_pos, value);
364 if (0 != res){
366 }
367 }

引用了 Sqlite.throw_sqlite_error().

函数调用图:

◆ setValue() [10/10]

void setValue ( String  value)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm339 行定义.

339 {
340 stored_params.add(value);
341 int res = 0;
342 if (value != nilptr){
343 res = Native.sqlite3_bind_text(nstmt, ++param_pos, value, value.length(), nilptr);
344 if (0 != res){
346 }
347 }else{
348 res = Native.sqlite3_bind_null(nstmt, ++param_pos);
349 if (0 != res){
351 }
352 }
353 }

引用了 String.length() , 以及 Sqlite.throw_sqlite_error().

被这些函数引用 Sqlite.SqlitePreparedStatement.setValues().

函数调用图:
这是这个函数的调用关系图:

◆ setValues()

void setValues ( Object []  args)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm428 行定义.

428 {
429 for (int i = 0; i < args.length; i++){
430 if (args[i].instanceOf(String)){
431 stored_params.add(args[i]);
432 setValue((String)args[i]);
433 }else
434 if (args[i].instanceOf(int)){
435 setValue((int)args[i]);
436 }else
437 if (args[i].instanceOf(long)){
438 setValue((long)args[i]);
439 }else
440 if (args[i].instanceOf(byte)){
441 setValue((byte)args[i]);
442 }else
443 if (args[i].instanceOf(double)){
444 setValue((double)args[i]);
445 }else{
446 throw new Sql.SqlException(-1, "sql " + sql_text + " dont accept type:" + i);
447 }
448 }
449 }
void setValue(String value) override
Definition Sqlite.xcsm:339
Definition String.x:5

引用了 Sqlite.SqlitePreparedStatement.setValue().

函数调用图:

结构体成员变量说明

◆ nstmt

long nstmt = 0
package

在文件 Sqlite.xcsm268 行定义.

◆ param_pos

int param_pos = 0
package

在文件 Sqlite.xcsm269 行定义.

◆ sql_text

String sql_text
package

在文件 Sqlite.xcsm267 行定义.

◆ sqlite

Sqlite sqlite
package

在文件 Sqlite.xcsm266 行定义.

◆ stored_params

Vector<Object> stored_params = new Vector<Object>()
package

在文件 Sqlite.xcsm270 行定义.