Python sqlite3.0错误:接近;显示“显示”:语法错误
我正在Python sqlite3.0错误:接近;显示“显示”:语法错误,python,python-3.x,sqlite,Python,Python 3.x,Sqlite,我正在pyqt5中构建一个表,它将在表中显示SQL的输出。首先,您必须在命令行中键入命令,然后按下按钮更新表格 虽然,insert-into-table等命令正在工作,但当我键入显示数据库时在命令行中显示此错误: Traceback (most recent call last): File "c:/Users/intel/Desktop/table.py", line 24, in load_data result = connection.execute(inp) sqlite3
pyqt5
中构建一个表,它将在表中显示SQL
的输出。首先,您必须在命令行中键入命令,然后按下按钮更新表格
虽然,insert-into-table
等命令正在工作,但当我键入显示数据库时代码>在命令行中显示此错误:
Traceback (most recent call last):
File "c:/Users/intel/Desktop/table.py", line 24, in load_data
result = connection.execute(inp)
sqlite3.OperationalError: near "show": syntax error
这是我的代码:
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QAction, QTableWidget,QTableWidgetItem,QVBoxLayout
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
from PyQt5 import QtWidgets
import sqlite3
inp = input('>> ')
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'PyQt5 table - pythonspot.com'
self.left = 0
self.top = 0
self.width = 300
self.height = 200
self.initUI()
#CREATE TABLE employees(email varchar(30), password(30));
def load_data(self):
connection = sqlite3.connect('my_db.db')
#connection.execute(inp)
#
result = connection.execute(inp)
self.tableWidget.setRowCount(0)
for row_number, row_data in enumerate(result):
self.tableWidget.insertRow(row_number)
for column_number, data in enumerate(row_data):
self.tableWidget.setItem(row_number, column_number, QTableWidgetItem(str(data)))
connection.close()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.createTable()
# Add box layout, add table to box layout and add box layout to widget
self.layout = QVBoxLayout()
self.layout.addWidget(self.tableWidget)
self.setLayout(self.layout)
self.btn = QtWidgets.QPushButton(self)
self.btn.move(100,600)
self.btn.setText("Hello")
self.btn.clicked.connect(self.load_data)
# Show widget
self.show()
def createTable(self):
self.tableWidget = QTableWidget()
self.tableWidget.setRowCount(1) ##set number of rows
self.tableWidget.setColumnCount(8) ##this is fixed for myTableWidget, ensure that both of your tables, sql and qtablewidged have the same number of columns
self.tableWidget.move(1,1)
# table selection change
self.tableWidget.doubleClicked.connect(self.on_click)
@pyqtSlot()
def on_click(self):
print("\n")
for currentQTableWidgetItem in self.tableWidget.selectedItems():
print(currentQTableWidgetItem.row(), currentQTableWidgetItem.column(), currentQTableWidgetItem.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
任何帮助都将不胜感激在SQLite中没有显示数据库的命令,因为通常只有一个。但是,有一个PRAGMA数据库列表
。这将列出主数据库和所有连接的数据库(使用连接数据库“路径”连接到\u数据库“模式”连接)
e、 g.PRAGMA数据库列表代码>:-
seq name file
0 main E:\Navicat\SQlite Databases\soanswers.db
2 sw E:\Navicat\SQlite Databases\xxx.db
- name是附加数据库时使用的架构名称
否则,可能需要搜索文件系统或其一部分,如果要查找SQLite数据库文件,可能需要检查文件的前16个字节中的“SQLite format 3\000”。没有SQL命令“show”(至少SQLite不支持)是的,在MySQL@MichaelButscher中有,我不知道为什么它会发生在SQLite3中??SQL没有完全标准化。每个数据库软件都有自己的方言。在SQLite上显示数据库甚至没有意义。由于一个数据库文件中只有一个数据库,那么如何查看其中的表数呢?我使用了.tables
命令,但它显示了“.”
@Mike附近的语法错误T@AbhaySalvi根据查询sqlite_主控文件