# sqlite.model 库模块帮助文档

## sqlite 成员列表 <a id="sqlite" href="#sqlite">&#x23;</a>

### sqlite.model <a id="sqlite.model" href="#sqlite.model">&#x23;</a>
SQL 连贯操作（链式操作）。  
一般不建议使用这种方式。

### sqlite.model() <a id="sqlite.model" href="#sqlite.model">&#x23;</a>
参数中请指定 sqlite 连接对象

[返回对象:sqliteModelObject](#sqliteModelObject)

## sqliteModelObject 成员列表 <a id="sqliteModelObject" href="#sqliteModelObject">&#x23;</a>

### sqliteModelObject.and() <a id="sqliteModelObject.and" href="#sqliteModelObject.and">&#x23;</a>
指定 AND 查询条件,  
参数必须是指定一个或多个键值对的表（以 AND 组合条件）

[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.asc() <a id="sqliteModelObject.asc" href="#sqliteModelObject.asc">&#x23;</a>
查询结果升序排列  

[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.clone() <a id="sqliteModelObject.clone" href="#sqliteModelObject.clone">&#x23;</a>
复制对象  

[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.create() <a id="sqliteModelObject.create" href="#sqliteModelObject.create">&#x23;</a>
生成创建表的 SQL

生成查询表的 SQL

[返回对象:sqliteModelObject](#sqliteModelObject)

[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.delete() <a id="sqliteModelObject.delete" href="#sqliteModelObject.delete">&#x23;</a>
生成查询表的 SQL

[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.desc() <a id="sqliteModelObject.desc" href="#sqliteModelObject.desc">&#x23;</a>
查询结果降序排列  

[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.each <a id="sqliteModelObject.each" href="#sqliteModelObject.each">&#x23;</a>

```aardio
for 字段名,字段名2 in sqliteModelObject.each() {
	io.print( 字段名,字段名2 )
}
```

### sqliteModelObject.enum(sql) <a id="sqliteModelObject.enum" href="#sqliteModelObject.enum">&#x23;</a>

```aardio
sqliteModelObject.enum( function(tname,tvalue){  
		for(i=1;#tname;1){   
			io.print(tname[i],tvalue[i])  
		}  

	}  
)
```

### sqliteModelObject.exec() <a id="sqliteModelObject.exec" href="#sqliteModelObject.exec">&#x23;</a>
执行sql语句,  
如果指定多个参数则调用 string.format 格式化参数一生成 SQL 语句,  
如果参数 @1 是 table 对象,则格式化所有 @前缀的命名参数并生成 SQL 语句  
出错则抛出异常.

### sqliteModelObject.fields() <a id="sqliteModelObject.fields" href="#sqliteModelObject.fields">&#x23;</a>
指定字段名,可以是多个参数,也可以是一个数组,  
参数也可以是用逗号分隔字段名的字符串

[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.getFiledsNames() <a id="sqliteModelObject.getFiledsNames" href="#sqliteModelObject.getFiledsNames">&#x23;</a>
返回表的字段名数组

### sqliteModelObject.getTable() <a id="sqliteModelObject.getTable" href="#sqliteModelObject.getTable">&#x23;</a>
[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.insert() <a id="sqliteModelObject.insert" href="#sqliteModelObject.insert">&#x23;</a>
生成插入表的 SQL

生成插入表的 SQL  
参数中可以用一个表指定要插入的值  
参数如果是一个窗体对象,自动获取同名控件中的值作为对应的插入值

[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.limit <a id="sqliteModelObject.limit" href="#sqliteModelObject.limit">&#x23;</a>
限制反回的查询记录数

### sqliteModelObject.limit() <a id="sqliteModelObject.limit" href="#sqliteModelObject.limit">&#x23;</a>
[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.limit(limit,offset) <a id="sqliteModelObject.limit" href="#sqliteModelObject.limit">&#x23;</a>
参数@1限定返回的记录数,可选用参数@2指定开始位置

### sqliteModelObject.or() <a id="sqliteModelObject.or" href="#sqliteModelObject.or">&#x23;</a>
指定 OR 查询条件,  
参数必须是指定一个或多个键值对的表（表内字段仍以 AND 组合条件）

[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.orderBy() <a id="sqliteModelObject.orderBy" href="#sqliteModelObject.orderBy">&#x23;</a>
指定排序字段名,可以是多个参数,也可以是一个数组,  
参数也可以是用逗号分隔字段名的字符串

[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.prepare() <a id="sqliteModelObject.prepare" href="#sqliteModelObject.prepare">&#x23;</a>
编译SQL预处理命令,  
1. 如果参数@1为table对象将参数@1转换为WHERE条件语句  
2. 否则调用 string.format 格式化sql语句  
可选参数 @1 指定查询条件（table对象或字符串）,  
可选增加任意个附加 SQL 参数

[返回对象:sqliteStmtObject](#sqliteStmtObject)

### sqliteModelObject.primary() <a id="sqliteModelObject.primary" href="#sqliteModelObject.primary">&#x23;</a>
指定主键字段名,可以是多个参数,也可以是一个数组,  
参数也可以是用逗号分隔字段名的字符串

[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.sql <a id="sqliteModelObject.sql" href="#sqliteModelObject.sql">&#x23;</a>
字符串属性，存放生成的 SQL 语句。  
或者把对象传入 tostring 也可以返回此属性。

### sqliteModelObject.stepQuery() <a id="sqliteModelObject.stepQuery" href="#sqliteModelObject.stepQuery">&#x23;</a>
查询并返回首行数据,失败返回null,状态码.  
如果sql中包含"@"字符,即可使用参数@1指定的table对象自动绑定命名参数

### sqliteModelObject.table() <a id="sqliteModelObject.table" href="#sqliteModelObject.table">&#x23;</a>
指定表名

[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.update() <a id="sqliteModelObject.update" href="#sqliteModelObject.update">&#x23;</a>
生成更新表的 SQL。  
参数必须是指定一个或多个键值对的表

[返回对象:sqliteModelObject](#sqliteModelObject)

### sqliteModelObject.where() <a id="sqliteModelObject.where" href="#sqliteModelObject.where">&#x23;</a>
指定查询条件,  
参数必须是指定一个或多个键值对的表（以 AND 组合条件）

[返回对象:sqliteModelObject](#sqliteModelObject)
