xlang v4.0 Release
程序设计语言基础库文档
载入中...
搜索中...
未找到
Public 成员函数 | 包属性
Sqlite.SqlitePreparedStatement类 参考
类 Sqlite.SqlitePreparedStatement 继承关系图:
PreparedStatement

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.xcsm368 行定义.

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

引用了 Sqlite.throw_sqlite_error().

◆ setValue() [2/10]

void setValue ( double  value)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm375 行定义.

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

引用了 Sqlite.throw_sqlite_error().

◆ setValue() [3/10]

void setValue ( int  id,
byte  value 
)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm412 行定义.

412 {
413 int res = Native.sqlite3_bind_int(nstmt, id, value);
414 if (0 != res){
416 }
417 }

引用了 Sqlite.throw_sqlite_error().

◆ setValue() [4/10]

void setValue ( int  id,
double  value 
)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm419 行定义.

419 {
420 int res = Native.sqlite3_bind_double(nstmt, id, value);
421 if (0 != res){
423 }
424 }

引用了 Sqlite.throw_sqlite_error().

◆ setValue() [5/10]

void setValue ( int  id,
int  value 
)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm398 行定义.

398 {
399 int res = Native.sqlite3_bind_int(nstmt, id, value);
400 if (0 != res){
402 }
403 }

引用了 Sqlite.throw_sqlite_error().

◆ setValue() [6/10]

void setValue ( int  id,
long  value 
)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm405 行定义.

405 {
406 int res = Native.sqlite3_bind_int64(nstmt, id, value);
407 if (0 != res){
409 }
410 }

引用了 Sqlite.throw_sqlite_error().

◆ setValue() [7/10]

void setValue ( int  id,
String  value 
)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm383 行定义.

383 {
384 int res = 0;
385 if (value != nilptr){
386 res = Native.sqlite3_bind_text(nstmt, id, value, value.length(), nilptr);
387 if (0 != res){
389 }
390 }else{
391 res = Native.sqlite3_bind_null(nstmt, id);
392 if (0 != res){
394 }
395 }
396 }
int length()

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

◆ setValue() [8/10]

void setValue ( int  value)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm354 行定义.

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

引用了 Sqlite.throw_sqlite_error().

◆ setValue() [9/10]

void setValue ( long  value)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm361 行定义.

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

引用了 Sqlite.throw_sqlite_error().

◆ setValue() [10/10]

void setValue ( String  value)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm339 行定义.

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

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

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

◆ setValues()

void setValues ( Object []  args)
override

重载 PreparedStatement .

在文件 Sqlite.xcsm426 行定义.

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

引用了 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 行定义.