我有一个扩展名为.sql的查询脚本。我可以读取查询脚本文本并使用QSqlQuery方法运行:
db = QtSql.QSqlDatabase.addDatabase('QODBC')
db.setDatabaseName("DRIVER={SQL Server};SERVER=myservername;DATABASE=master;Trusted_Connection=yes")
db.open()
with open(QueryFile , "r") as readQuery:
queryText = readQuery.read()
readQuery.close()
query = QtSql.QSqlQuery()
query.exec_(queryText)
while query.next():
for i in range (query.record().count()):
temp_list.append(query.value(i))
queryResultList.append(temp_list[:])
del temp_list[:]
db.close()
但是当查询脚本中有一些declare
或select .. into #temptable from mytable
子句时,它什么也没做。有人可以解释我的问题吗?
编辑: 让我举2个示例查询。第一个有效,但第二个无效
first.sql:
使用myDatabase 从mytable中选择col1,col2,col3
second.sql
使用myDatabase 声明@myVariable为integer = 3 从mytable中选择col1,col2,col3