import sqlite3

class DBTool(object):
def __init__(self):
"""
初始化函数,创建数据库连接
"""
self.conn = sqlite3.connect('test.db')
self.c = self.conn.cursor() def executeUpdate(self, sql, ob):
"""
数据库的插入、修改函数
:param sql: 传入的SQL语句
:param ob: 传入数据
:return: 返回操作数据库状态
"""
try:
self.c.executemany(sql, ob)
i = self.conn.total_changes
except Exception as e:
print('错误类型: ', e)
return False
finally:
self.conn.commit()
if i > 0:
return True
else:
return False def executeDelete(self, sql, ob):
"""
操作数据库数据删除的函数
:param sql: 传入的SQL语句
:param ob: 传入数据
:return: 返回操作数据库状态
"""
try:
self.c.execute(sql, ob)
i = self.conn.total_changes
except Exception as e:
return False
finally:
self.conn.commit()
if i > 0:
return True
else:
return False def executeQuery(self, sql, ob):
"""
数据库数据查询
:param sql: 传入的SQL语句
:param ob: 传入数据
:return: 返回操作数据库状态
"""
test = self.c.execute(sql, ob)
return test def close(self):
"""
关闭数据库相关连接的函数
:return:
"""
self.c.close()
self.conn.close() if __name__ == '__main__':
db = DBTool()
print("插入Student信息")
name = input('输入姓名:')
age = input('输入年龄:')
ob = [(name, age)]
sql = 'insert into stu (name, age) values (?,?)'
T = db.executeUpdate(sql, ob)
if T:
print('插入成功!')
else:
print('插入失败!') print("通ID修改Student姓名信息")
sql2 = 'UPDATE stu set name = ? where ID=?'
id = input('输入需要修改的ID:')
name = input('输入修改的Name:')
ob = [(name, id)]
T = db.executeUpdate(sql2, ob)
if T:
print('修改成功!')
else:
print('修改失败!') print("通ID删除Student信息")
num = input('输入需要删除的学员ID:')
sql2 = "DELETE from stu where ID=?"
ob = [(num)]
T = db.executeDelete(sql2, ob)
if T:
print('删除成功!')
else:
print('删除失败!') print("通姓名查询Student信息")
sql = 'select * from stu where name=?'
name = input('输入需要查询的学员姓名:')
ob = [(name)]
s = db.executeQuery(sql, ob)
st = []
for st in s:
print('ID:', st[0], ' Name:', st[1], ' Age:', st[2])
if any(st):
pass
else:
print("输入有误,该学员不存在") # 关闭数据库连接
db.close()

  

sqlite3增删改查简单封装的更多相关文章

  1. iOS sqlite 增删改查 简单封装(基于 FMDB)

    /** *  对 sqlite 的使用进行简单封装,仅涉及简单的单表 增删改查 * *  基于 FMDB * *  操作基于 model ,数据库表字段与 model 属性一一对应,对 model 整 ...

  2. WPF MVVM+EF增删改查 简单示例(二) 1对1 映射

    WPF MVVM+EF增删改查 简单示例(一)实现了对学生信息的管理. 现在需求发生变更,在录入学生资料的时候同时需要录入学生的图片信息,并且一名学生只能有一张图片资料.并可对学生的图片资料进行更新. ...

  3. jdbc增删改查进行封装

    jdbc封装 1 dao (代码分层) com.aaa.dao 存放dao相关的类型 例如 StudentDAOImpl 处理 数据库的链接 存取数据 com.aaa.servlet 存放servle ...

  4. IndexedDB 增删改查 简单的库

    <!DOCTYPE html> <html> <head> <title></title> <script src="Ind ...

  5. 安卓版php服务器的mysql数据库增删改查简单案例

    界面: index.php文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  6. JAVA JDBC 增删改查简单例子

    1.数据库配置文件jdbc.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test username= ...

  7. iOS SQLite 增删改查的封装(关系型)

    在工程里导入libsqlite3.tbd库(Xcode 7) #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder &l ...

  8. 关于EF 通用增删改查的封装

    1.  Entity Framework是Microsoft的ORM框架,随着 Entity Framework 不断的完善强化已经到达了EF 6.0+ 还是非常的完善的,目前使用的比例相对于其他OR ...

  9. JDBC增删改查简单测试

    首先编写一个entity以便与数据库表文件相对应 lyTable.java public class LyTable implements java.io.Serializable { private ...

随机推荐

  1. QGL登陆wui 提示not possible

    1: sap 登陆 QGL系统,  提示 2: 需要到该系统下,使用 T-CODE  su01 或者  su3  对LIHANS1 用户角色进行修改. 3:su53  查询 自己操作的 历史纪录和 状 ...

  2. 231A

    #include <iostream> using namespace std; #define maxSize 10 int main() { int views[maxSize]; i ...

  3. iot-dm异常日志

    iot-dm 本机断网日志 2018-03-15 08:55:41,345 INFO com.inspur.iot.client.core.IotConnection Connection is be ...

  4. 修改CentOS的IP地址

    一.临时修改 命令:ifconfig eth0 192.168.1.147 重启或者关机后,iP地址将会恢复到修改之前的状态. 二.永久修改 命令: vi /etc/sysconfig/network ...

  5. react的props验证

    Props 验证使用 propTypes,它可以保证我们的应用组件被正确使用,React.PropTypes 提供很多验证器 (validator) 来验证传入数据是否有效. 当向 props 传入无 ...

  6. html常用文本标签(转)

    内容一<br />内容二 让文本强制换行 内容一内容二 <p>段落一</p><p>段落二</p> 段落标签 段落一 段落二 <b> ...

  7. QT5 QT4--LNK2019 无法解析的外部符号

    新创建的工程 #include <QtWidgets/QApplication> #include <QtWidgets/QWidget> #include <QtWid ...

  8. ==与Equals的作用

    string str1 = "Blackteeth"; string str2 = str1; string str3 = "Blackteeth"; Cons ...

  9. BR(BoomerangRobot)机器人项目

    项目宗旨:推动机器人技术及相关知识的普及,增进广大机器人DIYer们的交流,提高爱好者们自身的专业水平,项目提供以机器人BR(boomerangrobot)为硬件平台,ROS(robot operat ...

  10. Yii2 Restful api设计--App接口编程

    Yii2框架写一套RESTful风格的API,对照魏曦教你学 一,入门 一.目录结构 实现一个简单地RESTful API只需用到三个文件.目录如下: frontend ├─ config │ └ m ...