如何将 QLineEdit 文本传递给 MS Access DB?

Posted

技术标签:

【中文标题】如何将 QLineEdit 文本传递给 MS Access DB?【英文标题】:How to pass QLineEdit text to MS Access DB? 【发布时间】:2014-08-23 20:41:10 【问题描述】:

我正在使用 INSERT 查询,如果我在 VALUES 中传递一个字符串,它可以正常工作,如下所示:

oConn.Execute("Insert into Student_Info(Student_Name) values ('Robin')")

但是如果我以这种方式传递 QLineEdit.text() 会出现错误:

oConn.Execute("Insert into Student_Info(Student_Name) values ('"& (self.StudentName.text()) &"')")

错误:

oConn.Execute("Insert into Student_Info(Student_Name) values ('"& (self.StudentName.text()) &"')")
TypeError: unsupported operand type(s) for &: 'str' and 'QString'

请指教,我不知道出了什么问题。

【问题讨论】:

【参考方案1】:

你可以使用 python 传递字符串简单的方法,像这样;

command = '''Insert into Student_Info(Student_Name) values ('%s')''' % str(self.StudentName.text())
oConn.Execute(command)

或者你可以使用字符串连接;

command = "Insert into Student_Info(Student_Name) values ('" + str(self.StudentName.text()) + "')"
oConn.Execute(command)

【讨论】:

谢谢,但你能建议我的代码有什么问题吗? 与号 (&) 运算符在位 OR 运算符中使用,而不是使用字符串 concat 运算符。如果您想使用字符串连接,我建议使用加号(+)运算符。 我用过这个,效果很好:oConn.Execute("Insert into Student_Info(Student_Name) values ('"+ (self.StudentName.text() +"') 是的,应该是这样。但是在您的问题中,您使用与号 (&) 运算符。它有错误。 抱歉,与号 (&) 运算符用于位 AND 运算符而不是 OR 运算符。

以上是关于如何将 QLineEdit 文本传递给 MS Access DB?的主要内容,如果未能解决你的问题,请参考以下文章

使用按钮从组合框中将值传递给文本框单击 MS ACCESS

QLineEdit 单击时清除文本并从按钮读取文本[关闭]

如何更改(短)QLineEdit 中文本的可见部分?

将文件拖入 QtGui.QLineEdit() 以设置 url 文本

如何通过按 Escape 键重置 QLineEdit 文本?

将对话框中的 qlineEdit 中的一段文本放入 qlineEdit @ mainwindow 的问题