Skip to content

Instantly share code, notes, and snippets.

@haveatry823
Created September 5, 2012 02:26
Show Gist options
  • Save haveatry823/3629354 to your computer and use it in GitHub Desktop.
Save haveatry823/3629354 to your computer and use it in GitHub Desktop.
js通过ActiveXObject访问sqlite数据库
/*
需要先注册 sqlite3.dll
下载地址 https://www.assembla.com/spaces/litex/documents
项目地址 http://svn2.assembla.com/svn/aIPblab5qr3zkdab7jnrAJ/
*/
var db = new ActiveXObject("LiteX.LiteConnection");
db.open("test.db");
try{
var sql = "create table tab01(id integer primary key, name varchar, num integer)";
db.execute(sql)
}catch(x){
WScript.Echo(x.message)
}
var sql = "insert into tab01(name,num) values(?,?)"
db.execute(sql,"myname",Math.round(Math.random()*100))
db.execute(sql,"myname",Math.round(Math.random()*100))
WScript.Echo( "Last insert rowid:", db.LastInsertRowid );
var dataset = new ActiveXObject("LiteX.LiteStatement");
dataset.ActiveConnection = db
var sql = "select * from tab01"
dataset.prepare (sql)
var rows = new Enumerator(dataset.Rows);
for (;!rows.atEnd();rows.moveNext()) {
var row = rows.item();
var id=row(0),name=row(1),num=row(2);
WScript.Echo([id,name,num].join("\t"))
}
dataset.close()
var avgval = db.execute( "select avg(num) from tab01" );
WScript.Echo( "avg value:", Math.round(avgval,2));
var result = new VBArray(db.execute("select min(num), max(num) from tab01"));
WScript.Echo( "Min value:", result.getItem(0));
WScript.Echo( "Max value:", result.getItem(1));
var result = db.Execute( "update tab01 set name='96pk' where id <= ? ",3);
WScript.Echo( "update changes:", db.Changes);
WScript.Echo("")
var sql = "select * from tab01 where name='96pk'"
var dataset2=db.prepare(sql)
WScript.Echo( "96pk count:",dataset2.RowCount);
while (!dataset2.Step()){
WScript.Echo(dataset2.ColumnName(0),":", dataset2.ColumnValue("id"));
WScript.Echo(dataset2.ColumnName(1),":", dataset2.ColumnValue("name"));
WScript.Echo(dataset2.ColumnName(2),":", dataset2.ColumnValue("num"));
WScript.Echo("")
}
dataset2.close()
WScript.DisconnectObject(db)
db.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment