Sqlite3对web2py DAL

时间:2015-06-11 12:55:03

标签: sqlite web2py

我一直在使用sqlite DB一段时间,但想将我的代码集成到web2py esp。 DAL。如何将这样的代码重写为web2py DAL代码?

      name = input ('Please Type your Question:  ').lower().split()  
      name2 = name[:]
      import sqlite3
      for item in name2:#break                
         conn = sqlite3.connect("foods.db")
         cursor = conn.cursor()           
         cursor.execute("INSERT INTO INPUT33 (NAME) VALUES (?);", (name2,))      
         cursor.execute("select MAX(rowid) from [input33];")
         conn.commit()      
         for rowid in cursor:break         
         for elem in rowid:
            m = elem            
            print(m)
            cursor.execute("DELETE FROM INPUT33 (NAME) WHERE NAME = name")

1 个答案:

答案 0 :(得分:1)

我不太明白这个问题所以我想提前为任何误解道歉。

Web2py是一个Web MVC framework,您应该在设计应用程序时遵循该模式。考虑到这一点,使用与input等控制台相关的功能是没有意义的。此外,您不应使用相同的组件来提取与用户交互相关的数据,并处理数据库连接和数据访问/操作。

如果您的目的是简单地将使用sqlite3模块的代码段转换为使用pyDAL,则只需将其安装pip install pydal并将代码更改为

#Do your imports
from pydal import DAL, Field

#  connect to your database
db = DAL('sqlite://foods.db')
# define your table model and table fields
db.define_table('input33', Field('NAME'))

# perform an insert into input database
db.input33.insert(name=name2)
# every insert/delete/update needs your to commit to your changes
db.commit() 

可以找到完整的文档here