我在sqlite中使用eric4(qtdesigner、pyqt、python等),当我运行我编写的程序时,我一直得到“error binding parameter 0-可能是不支持的类型”。在
我用eric4+qtdesigner制作了一些gui并生成了对话框代码。当我在qtdesigner中创建的窗口中的一个按钮被按下时,它应该访问数据库,然后提交并将信息保存在数据库中。我制作了一个单独的py文件,用于访问和保存数据库。在
以下是我的代码部分,它们很可能是我一直遇到的错误的根源。在
在ui的generated dialog(我导入了单独的py文件):
def on_button_Save_released(self):
"""
Slot documentation goes here.
"""
# TODO: not implemented yet
Nik = self.LineEdit_Nickname.text()
NFirst = self.LineEdit_NameFirst.text()
NMid = self.LineEdit_NameMiddle.text()
NLast = self.LineEdit_NameLast.text()
BMon = self.ComboBox_BirthMonth.currentText()
BDay = self.ComboBox_BirthDay.currentText()
BYear = self.ComboBox_BirthYear.currentText()
CNum = self.LineEdit_ContactNum.text()
EM = self.LineEdit_EMail.text()
MAd = self.LineEdit_MailAdd.text()
self.NMem = NewMem()
self.NMem.input_data(Nik, NFirst, NMid, NLast, BMon, BDay, BYear, CNum, EM, MAd)
数据库访问和写入是在一个单独的py文件上:
^{pr2}$我在谷歌上看过一些搜索结果,可能是引号和?参数,但我检查过了,它们看起来是正确的。也可以在某个地方读到它与字符映射(UTF?)有关的内容但我真的不知道怎么检查。。。 我还添加了一些打印,看看它们是否显示了我输入的正确数据以及它们是否正确。所以很奇怪为什么我仍然得到错误。在
任何帮助都是非常感谢深深鞠躬
我可以复制这个。在
如果将字符串、数字甚至日期作为
Nik
传递,则一切正常。你描述的错误只有在你传递一些奇怪的东西时才会发生,比如一个类或者一个函数。在检查
input_data
的调用是否传递正确的Nik
。很可能是某个地方忘了()
,所以传递的是类或函数,而不是实例或函数的结果。在QlineEdit.text()
返回QString
。将其传递给unicode
构造函数以获取可用的内容。在相关问题 更多 >
编程相关推荐