//使用预处理命令对象
import sqlite

io.open();

//打开数据库连接
var sqlConnection = sqlite("/testParameters.db")

//创建表 
if( not sqlConnection.existsTable("film") ){  
	sqlConnection.exec( "create table film(title, length, year, starring);")  
} 

//sql里的问号表示参数
var command = sqlConnection.prepare("insert into film values (?,?, ?, 'Jodie Foster');" )

//或者按参数顺序绑定多个参数
command.bind.parameters(
	 '用string.load读入二进制字符\0串', //设定第一个?号表示的参数
	 null, //设定第二个?号表示的参数
	 time.now()  //设定第三个?号表示的参数
).step()

//上面的代码等价于下面的代码
/****
command.bind.blob('用string.load读入二进制字符\0串').bind.double(123,2/*参数二*/ );
command.bind.text( tostring( time.now() ),3/*参数三*/ );
command.step();
****/

//释放命令对象
command.finalize() 

io.print("最后插入ID",sqlConnection.last_insert_rowid())

//迭代方式查询数据
for title, length, year, starring in sqlConnection.each("select * from film") {
	io.print( title, length, year, starring  )
	break;
}
io.print("------------迭代数据 ok") 
 
execute("pause") //按任意键继续
io.close();//关闭控制台
