我一直在尝试将SQL与PYQT4结合使用,以使用用户输入到我的程序中的信息更新访问数据库。我不想只更新特定记录和特定列数(10列中的5列)来更新所有记录。但是,我不断收到错误消息:
“ pyodbc.Error:('07002','[07002] [Microsoft] [ODBC Microsoft Access 驱动程序]参数太少。预期为6.(-3010)(SQLExecDirectW)')“
我似乎无法解决。
这是我的代码:
SelectDatabase.execute('UPDATE Order_Table SET DateDue=(dateDueString), TimeDue=(timeDueString), PaymentType=(paymentExp), Paid=(paidExp), Customer_ID=(customerExp) WHERE OrderLine_ID=(orderlineExp)')
方括号内的值是我创建的变量,我正尝试调用它们,我已经对其进行了多次验证,包括对它们的拼写检查,但我发现这方面没有问题。
如果有人有任何想法或需要更多信息,请告诉我。
答案 0 :(得分:1)
我设法找出问题所在。我试图在我的SQL中使用一个变量,一旦我格式化了不同的格式后,立即可以将其更改为该变量。
SelectDatabase.execute('UPDATE Order_Table SET DateDue=?, TimeDue=?, PaymentType=?, Paid=?, Customer_ID=? WHERE OrderLine_ID=?', dateDueString,timeDueString,paymentExp,paidExp,customerExp,orderlineExp)
通过这种方式,可以在SQL过程中将值更改为未知数,并在编辑后按顺序引用它们,以允许找到变量的字符串值和要编辑的正确列。
谢谢您的帮助。
答案 1 :(得分:0)
好吧,我想您首先需要在SQL中使用所有参数创建存储过程,然后再简单地调用它。
setTimeout(function() {
$('.testDiv')[0].childNodes[1].nodeValue = "1"
}, 500);
setTimeout(function() {
$('.testDiv')[0].childNodes[1].data = '2'
}, 900);
setTimeout(function() {
var $el = $('.testDiv'),
$preStuff = $el.find('span').clone(true);
$el.text('3').prepend($preStuff);
}, 1300);