sqlite以及python的应用
有点乱,自己平时,遇到了就记下来,所以没整理。
数据库sqlite,以及Qt对数据库的操作
cu = cx.cursor() 这样定义了一个游标。游标对象有以下的操作:
3,查询: cu.execute("select * from catalog") 要提取查询到的数据,使用游标的fetch***函数,如: print cu.fetchall() 返回结果如下: [(0, 0, u'name1'), (1, 0, u'hello')] 如果我们使用cu.fetchone(),则首先返回列表中的第一项,再次使用,则返回第二项,依次下去.
4,修改: cu.execute("update catalog set name='name2' where id = 0")
cx.commit() 注意,修改数据以后提交
5,删除: cu.execute("delete from catalog where id = 1") cx.commit() 以上简单的操作反应的Python SQLITE数据库操作的基本要点,这里点到为止.然后,SQLite的强大,并不仅限于此,其对SQL高级特性的支持及其小巧灵活的特点,使得 SQLite在众多领域受到开发者的青睐.

Qt对sqlite数据库的操作:




一 添加表头
//准备数据模型 QStandardItemModel *student_model = new QStandardItemModel(); student_model->setHorizontalHeaderItem(0, new QStandardItem(QObject::tr("Name"))); student_model->setHorizontalHeaderItem(1, new QStandardItem(QObject::tr("NO."))); student_model->setHorizontalHeaderItem(2, new QStandardItem(QObject::tr("Sex"))); student_model->setHorizontalHeaderItem(3, new QStandardItem(QObject::tr("Age"))); student_model->setHorizontalHeaderItem(4, new QStandardItem(QObject::tr("College"))); //利用setModel()方法将数据模型与QTableView绑定 ui->student_tableview->setModel(student_model);
二 设置表格属性
//设置列宽不可变动,即不能通过鼠标拖动增加列宽 ui->student_tableview->horizontalHeader()->setResizeMode(0, QHeaderView::Fixed); ui->student_tableview->horizontalHeader()->setResizeMode(1, QHeaderView::Fixed); ui->student_tableview->horizontalHeader()->setResizeMode(2, QHeaderView::Fixed); ui->student_tableview->horizontalHeader()->setResizeMode(3, QHeaderView::Fixed); ui->student_tableview->horizontalHeader()->setResizeMode(4, QHeaderView::Fixed);
//设置表格的各列的宽度值 ui->student_tableview->setColumnWidth(0,100); ui->student_tableview->setColumnWidth(1,100); ui->student_tableview->setColumnWidth(2,100); ui->student_tableview->setColumnWidth(3,100); ui->student_tableview->setColumnWidth(4,100);
//默认显示行头,如果你觉得不美观的话,我们可以将隐藏 ui->student_tableview->verticalHeader()->hide();
//设置选中时为整行选中 ui->student_tableview->setSelectionBehavior(QAbstractItemView::SelectRows); //设置表格的单元为只读属性,即不能编辑 ui->student_tableview->setEditTriggers(QAbstractItemView::NoEditTriggers);
//如果你用在QTableView中使用右键菜单,需启用该属性 ui->tstudent_tableview->setContextMenuPolicy(Qt::CustomContextMenu);
三 动态添加行
在表格中添加行时,我们只需要在model中插入数据即可,一旦model中的数据发生变化,QTabelView显示就会做相应的变动
//在第一行添加学生张三的个人信息(setItem函数的第一个参数表示行号,第二个表示列号,第三个为要显示的数据) student_model->setItem(0, 0, new QStandardItem(“张三")); student_model->setItem(0, 1, new QStandardItem("20120202")); student_model->setItem(0, 2, new QStandardItem("男")); student_model->setItem(0, 3, new QStandardItem("18")); student_model->setItem(0, 4, new QStandardItem("土木学院"));
四 设置数据显示的样式
//设置单元格文本居中,张三的数据设置为居中显示 student_model->item(0, 0)->setTextAlignment(Qt::AlignCenter); student_model->item(0, 1)->setTextAlignment(Qt::AlignCenter); student_model->item(0, 2)->setTextAlignment(Qt::AlignCenter); student_model->item(0, 3)->setTextAlignment(Qt::AlignCenter); student_model->item(0, 4)->setTextAlignment(Qt::AlignCenter);
//设置单元格文本颜色,张三的数据设置为红色 student_model->item(0, 0)->setForeground(QBrush(QColor(255, 0, 0))); student_model->item(0, 1)->setForeground(QBrush(QColor(255, 0, 0))); student_model->item(0, 2)->setForeground(QBrush(QColor(255, 0, 0))); student_model->item(0, 3)->setForeground(QBrush(QColor(255, 0, 0))); student_model->item(0, 4)->setForeground(QBrush(QColor(255, 0, 0)));
//将字体加粗 student_model->item(0, 0)->setFont( QFont( "Times", 10, QFont::Black ) ); student_model->item(0, 1)->setFont( QFont( "Times", 10, QFont::Black ) ); student_model->item(0, 2)->setFont( QFont( "Times", 10, QFont::Black ) ); student_model->item(0, 3)->setFont( QFont( "Times", 10, QFont::Black ) ); student_model->item(0, 4)->setFont( QFont( "Times", 10, QFont::Black ) );
sqlite以及python的应用的更多相关文章
- SQLite in Python: 如何在Python中使用SQLite数据库
SQLite3 可使用 sqlite3 模块与 Python 进行集成.sqlite3 模块是由 Gerhard Haring 编写的.它提供了一个与 PEP 249 描述的 DB-API 2.0 规 ...
- 【sqlite】python备份数据库
备份整个数据库的方法: # coding=utf-8 import sqlite3 def testBakSqlite(): conn = sqlite3.connect("sqlite_d ...
- python 学习笔记6(数据库 sqlite)
26. SQLite 轻量级的关系型数据库 SQLite是python自带的数据库,可以搭配python存储数据,开发网站等. 标准库中的 sqlite3 提供该数据库的接口. 1. 基本语法如下 c ...
- 使用 Python 的 SQLite JSON1 和 FTS5 扩展
早在九月份,编程界出现一个名为 json1.c 的文件,此前这个文件一直在 SQLite 的库里面.还有,笔者也曾总结通过使用新的 json1 扩展来编译 pysqlite 的技巧.但现在随着 SQL ...
- python之数据库操作(sqlite)
python之数据库操作(sqlite) 不像常见的客户端/服务器结构范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分.所以主要的通信协议是在编程语言内的直接A ...
- python类库26[sqlite]
一 sqlite 与 python 的类型对应 二 实例 import sqlite3 def sqlite_basic(): # Connect to db conn = sqlit ...
- Python Virtualenv运行Django环境配置
系统: RHEL6.5 版本说明: Python-3.5.0 Django-1.10.4 virtualenv:为每个项目建立不同的/独立的Python环境,你将为每个项目安装所有需要的软件包到它们各 ...
- Python’s SQLAlchemy vs Other ORMs[转发 3]Django's ORM
Django's ORM Django is a free and open source web application framework whose ORM is built tightly i ...
- Python开源框架
info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...
随机推荐
- gradle手工搭建java项目搭建
1. 安装gradle. 下载http://services.gradle.org/distributions/gradle-1.9-all.zip,解压至/usr/local/目录下. 设置环境变量 ...
- python: jquery实现全选 反选 取消
引入这个jquery-1.12.4.js jquery实现全选 反选 取消 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitio ...
- Java 多线程处理[全]
http://blog.csdn.net/ghsau/article/details/7421217 Java线程(一):线程安全与不安全 http://blog.csdn.net/ghsau/art ...
- JAVA基础知识之JDBC——RowSet
RowSet概念 在C#中,提供了一个DataSet,可以把数据库的数据放在内存中进行离线操作(读写),操作完成之后再同步到数据库中去,Java中则提供了类似的功能RowSet. RowSet接口继承 ...
- AOJ 0121: Seven Puzzle (BFS DP STL 逆向推理)(转载)
转载自: http://m.blog.csdn.net/blog/Enjoying_Science/42008801 题目链接:http://acm.hust.edu.cn/vjudge/probl ...
- sublime 自动编译
Tools --> Build System --> New: { "shell_cmd": "cc.bat \"$file\"" ...
- javascript 常用实用函数。。。。。。
javascript 正则表达式 1.获取屏幕大小尺寸 /* 获取屏幕大小尺寸 */ var getScreen = function () { var screen = { width: 0, he ...
- Hibernate的关联映射——单向1-N关联
Hibernate的关联映射--单向1-N关联 单向1-N关联的持久化类里需要使用集合属性.因为1的一端需要访问N的一端,而N的一端将以集合(Set)形式表现.从这个意义上来看,1-N(实际上还包括N ...
- 如何修改mysql用户名和密码
如何修改mysql用户名和密码 以修改mysql的root密码为例修改的三种方法 方法1: 用SET PASSWORD命令 mysql>SET PASSWORD FOR 'root'@'lo ...
- HTML中IFrame父窗口与子窗口相互操作
一.Iframe篇 //&&&&&&&&&&&&&&&&&&am ...