web.py+sqliteдµÄ¼òµ¥ÁôÑÔ±¾
´úÂëºÜÂÒ£¬¶øÇÒûÓÐÓõ½Ä£°å£¬°Ñhtml´úÂë¸úPython´úÂë»ìÔÚÒ»ÆðÁË£¬¶øÇÒҲûÓÐÓõ½web.py±¾ÉíÌṩµÄÊý¾Ý¿â²Ù×÷Ä£¿é£¬¾ø¶Ô´Ö³¬µÄ´úÂ룡
ѧϰÁ˺ܶණÎ÷£¬Ê×Ïȵ±È»ÊÇweb.py£¬È»ºóÊÇsqlite£¬½ÓÏÂÀ´ÊÇtimeÄ£¿é——¿´À´Ò²Î¨Óв»¶ÏµÄʵ¼ù£¬²ÅÕæÕýÄܽø²½£¡
˵ʵÔڵģ¬Å¼Ñ§htmlµ½ÏÖÔÚÕâô¾Ã£¬»¹ÊÇ°ëÍ°Ë®£¬±¯¾çÁË£¡
01 #!/usr/bin/env python
02 #coding=utf-8
03
04 import os,web,time
05 import sqlite3 as db
06
07 urls = (
08 '/', 'hello',
09 '/add','add'
10 )
11
12 class hello:
13 def GET(self):
14 #ʵÀý»¯sqldb£¬È»ºó»ñÈ¡ÄÚÈÝ
15 s = ""
16 sdb = sqldb()
17 rec = sdb.cu.execute("""select * from msgs""")
18 dbre = sdb.cu.fetchall()
19 for i in dbre:
20 s = "<p>"+i[2]+" <span style=\"color: blue\">"+i[1]+' sad: '+r"</span>"+" <span style=\"color: gray\">"+i[3]+r"</span></p>" + s
21
22 sh = """
23 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML>
24 <HEAD><meta http-equiv="X-UA-Compatible" content
Ïà¹ØÎĵµ£º
SQLite¹Ù·½ÍøÕ¾Àý×Ó£º
#include <stdio.h>
#include <sqlite3.h>
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i<argc; i++){
printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
i ......
//ËѼ¯ÕûÀíÁËÒ»ÏÂÍøÉϵĴúÂë.ÕÒÁË°ëÌì¾ÓÈ»ÕÒ²»µ½Ò»Ìõ²åÈëÓï¾ä.ºÃÓôÃƵÄ
//¸Ð¾õËٶȻ¹¿ÉÒÔ.СÎļþ.ºÜ¶àСӦÓóÌÐòÔÚÓÃÕâ¸öÊý¾Ý¿â
//SQLiteʹÓð취.Ö±½ÓCOPYDLLÎļþSystem.Data.SQLite.DLLµ½Ó¦ÓóÌÐòDEBUGĿ¼Ï¡£ È»ºóÔÚÏîÄ¿ÖÐÌí¼ÓÒýÓÃ,ÕÒµ½Õâ¸öÎļþ¼´¿É
//Ìí¼ÓÒýÓÃ
using System;
using System.Collections.Generic;
......
½ñÌìÓöµ½ÁËÂé·³£º
ÓÃEclipse±àÒëpythonÏòsqliteÊý¾Ý¿â²åÈëÊý¾Ý×ÜÊÇÌáʾ±àÂëµÄÎÊÌ⣬ÎÒÉèÖÃÁËEclipseµÄworkspaceÓÃutf-8±àÂ뻹ÊDz»ÐÐ
µ«ÊÇÓÃEclipseдµÄ³ÌÐò±£´æÔÙÓÃIDLE´ò¿ªÈ´ÄܱàÒ룬Ææ¹ÖÁË
ÎÒ¿¼Âǵ½¿ÉÄÜÊÇÅäÖõÄÔÒò£¬ÕÒÕÒ±éÁËËùÓеÄÅäÖ㬶¼Ã»ÓÐÎÊÌ⣬°üÀ¨¹¤³ÌÎļþ
×îºóÎÒÓÃxvi32´ò¿ ......
ÔÚ .NET ÀïÃæʹÓà SQLite£¬ ÎÒÕâÀïʹÓõÄwrapperÊÇ System.Data.SQLite£¬ËüÖ»ÐèÒªÒ»¸ödll,½Ó¿Ú·ûºÏADO.Net 2.0µÄ¶¨Òå,ÐÔÄÜÒ²²»´í,NHibernateÓõÄÒ²ÊÇËü£¬Ä¿Ç°Ö§³ÖADO.NET 3.5ÁË£¬Ö§³Ö¼¯³ÉÔÚ VS2005 ºÍ VS2008ÀïÃ棬¶øÇÒÖ§³Öwince£¬ÊǸöÁÁµã
ÒòΪ·ûºÏADO.NETµÄ¹æ·¶£¬ËùÒÔʹÓ÷½Ê½£¬»ù±¾ºÍ SqlClient, OleDbµÈÔÉúµÄÒ»ÖÂ
us ......