[英]sqlite3.OperationalError: near "show": syntax error
我正在pyqt5
構建一個表, pyqt5
在表中顯示SQL
的輸出。 首先,您必須在命令行中鍵入命令,然后按下按鈕來更新表。
雖然,像insert into table
這樣的命令正在工作,但是當我輸入show databases;
在命令行中,它向我顯示了這個錯誤:
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 中沒有show databases
命令,因為通常只有一個。 但是,有PRAGMA database_list
database_list 。 這將列出主數據庫和任何附加的數據庫(如使用ATTACH DATABASE 'path_to_the_database' the_schema
) ATTACH 。
例如PRAGMA database_list;
:-
seq name file
0 main E:\Navicat\SQlite Databases\soanswers.db
2 sw E:\Navicat\SQlite Databases\xxx.db
否則,如果您想查找 SQLite 數據庫文件,則可能需要搜索文件系統或其中的一部分,可能會檢查文件的前 16 個字節以查找“SQLite 格式 3\\000” database_header 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.