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

Public 成员函数

包属性

额外继承的成员函数

详细描述

在文件 xsql.xcs315 行定义.

构造及析构函数说明

◆ PreparedStatement() [1/2]

PreparedStatement ( )

在文件 xsql.xcs321 行定义.

321{}

◆ PreparedStatement() [2/2]

PreparedStatement ( String  sql)

在文件 xsql.xcs322 行定义.

322 {
323 textSql = " " + sql + " ";
324 strsplit = textSql.split('?');
325 if (strsplit.length == 0){
326 throw new IllegalArgumentException("invalid sql");
327 }
328 strparams = new String[strsplit.length - 1];
329 }
String [] strsplit
Definition xsql.xcs:318
String [] strparams
Definition xsql.xcs:319
字符串类
int length()
String [] split(String)

引用了 String.length() , 以及 String.split().

成员函数说明

◆ execute()

int execute ( )

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs339 行定义.

339 {
340 return execute(getSql());
341 }

◆ executeQuery()

ResultSet executeQuery ( )

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs352 行定义.

352 {
353 return executeQuery(getSql());
354 }
ResultSet executeQuery()
Definition xsql.xcs:352

◆ executeUpdate()

int executeUpdate ( )

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs356 行定义.

356 {
357 return executeUpdate(getSql());
358 }

◆ finalize()

void finalize ( )

在文件 xsql.xcs468 行定义.

468 {
469 close();
470 }

◆ get_changes()

int get_changes ( )
override

实现了 Statement.

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs463 行定义.

463 {
464 throw new SqlException(-1, "get_changes");
465 return 0;
466 }

◆ getSql()

String getSql ( )

在文件 xsql.xcs343 行定义.

343 {
344 String sqlout = strsplit[0];
345 int i = 1, c = strsplit.length;
346 for (; i < c; i++){
347 sqlout = sqlout + (strparams[i - 1] + strsplit[i]);
348 }
349 return sqlout;
350 }

引用了 String.length().

◆ safety()

String safety ( String  str)

在文件 xsql.xcs331 行定义.

331 {
332 str = str.replace("\\", "\\\\");
333 str = str.replace("\"", "\\\"");
334 str = str.replace("\'", "\\\'");
335 str = str.replace("\`", "\\\`");
336 return "'" + str + "'";
337 }
String replace(int, int, String)

引用了 String.replace().

◆ setValue() [1/10]

void setValue ( byte  value)

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs384 行定义.

384 {
385 if (paramid < strparams.length){
386 strparams[paramid++] = String.format("%02u",value & 0xff);
387 }else{
388 throw new SqlException(-1, "sql " +textSql + " dont need value:" + value);
389 }
390 }
static final String format(String, Object[])

引用了 String.format() , 以及 String.length().

◆ setValue() [2/10]

void setValue ( double  value)

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs392 行定义.

392 {
393 if (paramid < strparams.length){
394 strparams[paramid++] = String.format("%f",value);
395 }else{
396 throw new SqlException(-1, "sql " +textSql + " dont need value:" + value);
397 }
398 }

引用了 String.format() , 以及 String.length().

◆ setValue() [3/10]

void setValue ( int  id,
byte  value 
)

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs425 行定义.

425 {
426 if ((id > 0) && (id - 1 < strparams.length)){
427 strparams[id - 1] = String.format("%02u",value & 0xff);
428 }else{
429 throw new SqlException(-1, "sql " +textSql + " dont need value:" + value);
430 }
431 }

引用了 String.format() , 以及 String.length().

◆ setValue() [4/10]

void setValue ( int  id,
double  value 
)

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs433 行定义.

433 {
434 if ((id > 0) && (id - 1 < strparams.length)){
435 strparams[id - 1] = String.format("%f",value);
436 }else{
437 throw new SqlException(-1, "sql " +textSql + " dont need value:" + value);
438 }
439 }

引用了 String.format() , 以及 String.length().

◆ setValue() [5/10]

void setValue ( int  id,
int  value 
)

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs409 行定义.

409 {
410 if ((id > 0) && (id - 1 < strparams.length)){
411 strparams[id - 1] = String.format("%d",value);
412 }else{
413 throw new SqlException(-1, "sql " +textSql + " dont need value:" + value);
414 }
415 }

引用了 String.format() , 以及 String.length().

◆ setValue() [6/10]

void setValue ( int  id,
long  value 
)

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs417 行定义.

417 {
418 if ((id > 0) && (id - 1 < strparams.length)){
419 strparams[id - 1] = String.format("%d",value);
420 }else{
421 throw new SqlException(-1, "sql " +textSql + " dont need value:" + value);
422 }
423 }

引用了 String.format() , 以及 String.length().

◆ setValue() [7/10]

void setValue ( int  id,
String  value 
)

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs401 行定义.

401 {
402 if ((id > 0) && (id - 1 < strparams.length)){
403 strparams[id - 1] = safety(value);
404 }else{
405 throw new SqlException(-1, "sql " +textSql + " dont need value:" + value);
406 }
407 }
String safety(String str)
Definition xsql.xcs:331

引用了 String.length().

◆ setValue() [8/10]

void setValue ( int  value)

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs368 行定义.

368 {
369 if (paramid < strparams.length){
370 strparams[paramid++] = String.format("%d",value);
371 }else{
372 throw new SqlException(-1, "sql " +textSql + " dont need value:" + value);
373 }
374 }

引用了 String.format() , 以及 String.length().

◆ setValue() [9/10]

void setValue ( long  value)

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs376 行定义.

376 {
377 if (paramid < strparams.length){
378 strparams[paramid++] = String.format("%d",value);
379 }else{
380 throw new SqlException(-1, "sql " +textSql + " dont need value:" + value);
381 }
382 }

引用了 String.format() , 以及 String.length().

◆ setValue() [10/10]

void setValue ( String  value)

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs360 行定义.

360 {
361 if (paramid < strparams.length){
362 strparams[paramid++] = safety(value);
363 }else{
364 throw new SqlException(-1, "sql " +textSql + " dont need value:" + value);
365 }
366 }

引用了 String.length().

◆ setValues()

void setValues ( Object []  args)

SQLCipher.SQLCipherPreparedStatement , 以及 Sqlite.SqlitePreparedStatement 重载.

在文件 xsql.xcs441 行定义.

441 {
442 for (int i = 0; i < args.length; i++){
443 if (args[i].instanceOf(String)){
444 setValue((String)args[i]);
445 }else
446 if (args[i].instanceOf(int)){
447 setValue((int)args[i]);
448 }else
449 if (args[i].instanceOf(long)){
450 setValue((long)args[i]);
451 }else
452 if (args[i].instanceOf(byte)){
453 setValue((byte)args[i]);
454 }else
455 if (args[i].instanceOf(double)){
456 setValue((double)args[i]);
457 }else{
458 throw new SqlException(-1, "sql " +textSql + " dont accept type:" + i);
459 }
460 }
461 }
void setValue(String value)
Definition xsql.xcs:360

结构体成员变量说明

◆ paramid

int paramid = 0
package

在文件 xsql.xcs320 行定义.

◆ strparams

String [] strparams
package

在文件 xsql.xcs319 行定义.

◆ strsplit

String [] strsplit
package

在文件 xsql.xcs318 行定义.

◆ textSql

String textSql
package

在文件 xsql.xcs317 行定义.