import sqlite
import console;
//打开数据库连接
var conn = sqlite("/tableParameter.db")
//创建表
if( not conn.existsTable("dataTable") ) {
//下面指定 name 字段为主键
conn.exec( "CREATE TABLE dataTable( name TEXT PRIMARY KEY,info BLOB);" );
}
//添加数据,如果存在相同主键数据则覆盖;
//-----------------------------------------------
var cmd = conn.prepare("replace into [dataTable] values ( @name,@info );")
cmd.bind.parameterByNamesAt(
name = "相同名称";
info = {
a = 123;
b = {
d = "测试";
}
}
);
cmd.step(); //执行命令
cmd.reset(); //重置命令
cmd.bind.parameterByNamesAt(
name = "相同名称";
info = {
a = 456;
b = {
d = "测试";
}
}
);
cmd.step(); //执行命令
cmd.reset(); //重置命令
cmd.bind.parameterByNamesAt(
name = "不同名称";
info = {
a = 789;
b = {
d = "测试";
}
}
);
cmd.step(); //执行命令
//查询数据
//-----------------------------------------------
cmd.prepare("SELECT * FROM [dataTable] ",{
name = "不同名称"; //可使用键值对指定查询条件
} )
console.log("自动生成的sql语句",cmd.sql )
var tab = cmd.stepQuery();
console.varDump("----------cmd.prepare(sql).stepQuery()-------------",tab)
cmd.finalize()
//查询数据 下面的代码更简单,等效于上面的代码
//-----------------------------------------------
tab = conn.stepQuery("SELECT * FROM [dataTable] ",{
name = "不同名称"; //可使用键值对指定查询条件
} )
console.varDump("----------conn.stepQuery()-------------",tab)
//查询数据 返回所有符合条件的行记录数组
//-----------------------------------------------
tab = conn.getTable("SELECT * FROM [dataTable] ",{
name = "不同名称"; //可使用键值对指定查询条件
} )
console.varDump("----------conn.getTable()-------------",tab)
//-----------------------------------------------
conn.exec("drop table dataTable ")
conn.close();
import sqlite
io.open();
//打开数据库连接
var sqlConnection = sqlite("/testParameters.db")
//创建表
if( not sqlConnection.existsTable("film") ){
sqlConnection.exec( "create table film(title, length, year, starring);")
}
//可以用@表示命名参数
var command = sqlConnection.prepare("insert into film values (@title,@length,@year, 'Jodie Foster');" )
//绑定命名参数,此函数默认在所有键前前添加@字符
command.bind.parameterByNamesAt(
title = "标题";
length = 4;
year = time.now();
)
//也可以这样写
command.bind.parameterByNames(
["@title"] = "标题";
["@length"] = 4;
["@year"] = time.now();
);
command.step();
//释放命令对象
command.finalize()
//显示最后插入ID
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")
//删除表
sqlConnection.exec("drop table film" );
execute("pause") //按任意键继续
io.close();//关闭控制台
import console;
import sqlite
var sqlConnection = sqlite("/dbGetColumnNames.db")
if( not sqlConnection.existsTable("film") )
sqlConnection.exec( "create table film(title, length, year, starring);")
getTableColumnNames = function(tableName){
cmd = sqlConnection.prepare("SELECT * FROM ["+ tableName +"] ")
return cmd.getColumns();
}
var column = getTableColumnNames("film")
console.varDump( column )
日本邮箱,有的时候在三级域名上,所以可以用下面的匹配!
"/^[_\.0-9a-z-]+@([0-9a-z-]+\.[0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}/i";
//这个是php5.2开始更新的内容,这个是phpmailer的用法!
function ValidateAddress($address) {
if (function_exists('filter_var')) { //Introduced in PHP 5.2
if(filter_var($address, FILTER_VALIDATE_EMAIL) === FALSE) {
return false;
} else {
return true;
}
} else {
return preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $address);
}
}
import mysql;
/*DSG{{*/
var winform = win.form(parent=...; bottom=436;max=false;text="mysql内容编码测试";right=721 )
winform.add(
btn_preg={ bottom=337;right=709;left=626;top=301;z=6;text="过虑HTML";cls="button" };
querycode={ bottom=140;text="utf8";left=636;top=113;z=3;right=698;edge=1;cls="edit" };
btn_mysql={ bottom=417;right=695;left=595;top=374;z=2;text="插入内容";cls="button" };
static={ bottom=97;text="测试编码";left=634;top=82;transparent=1;z=5;right=693;cls="static" };
txt_mysqlinfo={ bottom=340;right=611;left=22;multiline=1;top=27;z=1;text="";edge=1;cls="richedit" };
btn_clear={ bottom=418;right=568;left=468;top=375;z=4;text="清空";cls="button" }
)
/*}}*/
winform.btn_preg.oncommand = function(id,event){
//win.msgbox( winform.btn_preg.text );
winform.txt_mysqlinfo.text = winform.txt_mysqlinfo.text;
}
winform.btn_clear.oncommand = function(id,event){
//win.msgbox( winform.btn_clear.text );
winform.txt_mysqlinfo.text = '';
}
winform.btn_mysql.oncommand = function(id,event){
//win.msgbox( winform.btn_mysql.text );
var link = mysql(
"localhost", // IP
"root", // 用户名
"123456" // 密码
);
if ( ! link.handle ) {
winform.msgbox("链接服务器,请查正数据名和密码 失败");
return ;
}
else {
if (!link.select_db("v1_rmt_game")) {
winform.msgbox("选择库失败: " + link.error);
link.close();
return;
}
link.query("SET NAMES "+winform.querycode.text); // 设置 MySQL 编码
var result = link.query("SELECT * FROM 51_news ORDER BY `id` DESC limit 10");
if (!result) {
winform.msgbox("读取数据失败: " + link.error);
link.close();
return;
}
var row = result.fetch_array();
while (row) {
winform.txt_mysqlinfo.text += row.content
win.delay(1000);
row = result.fetch_array();
}
result.free(); // 释放记录集
}
}
winform.show()
win.loopMessage();
return winform;
/*DSG{{*/
var winform = win.form(parent=...; min=1;bottom=249;max=1;text="AAuto Form";right=349 )
winform.add(
button={ bottom=123;text="开始";left=67;right=234;top=88;z=0;cls="button" }
)
/*}}*/
//开始循环
start = function(){
io.open()
//检测外部可改变的数据作为循环条件
while( winform.button.text != "开始" ){
win.delay(1000) //处理消息,使程序可以响应操作,执行其他函数
io.print("我正在循环")
}
io.close()
}
//控制按钮
winform.button.oncommand = function(id,event){
if( winform.button.text == "开始" ){
//开始循环
winform.button.text = "停止"
start();
}
else if( winform.button.text == "停止" ){
//结束循环
winform.button.text = "开始"
}
}//endpro
winform.show(true)
win.loopMessage();
$content = $rs['content'];
$sqltext = sprintf('"%s"', $rs['content']);
$mailtext = <<<eot
return {$sqltext};
eot;
$name = 'ok';
$a = eval($mailtext);
echo $a;
select unix_timestamp('2008-08-08'); -- 1218124800
select unix_timestamp('2008-08-08 12:30:00'); -- 1218169800
select from_unixtime(1218290027); -- '2008-08-09 21:53:47'
select from_unixtime(1218124800); -- '2008-08-08 00:00:00'
select from_unixtime(1218169800); -- '2008-08-08 12:30:00'
select from_unixtime(1218169800, '%Y %D %M %h:%i:%s %x'); -- '2008 8th August 12:30:00 2008'
这样linux时间下的mysql就可以很自然了转成时间!











