python中如何把字符(整型)变量转换为字符常量?

时间:2023-01-04 12:18:12
如题。我在用python和SQLiteDeveloper连接时候,我想检索数据库的第3行,我用代码如下:cur.execute('Select * From Data where CellId=\'3\'')我测试了下这里的3是python里的字符型,不是数字型。(这可能跟我设置的对应的数据库中的检索id为字符型有关系)。问题是我在下面操作中得到了一个python中的整数型的值x,我存在了变量a中,此时x为1到42之间的未知值,这样检索的话:cur.execute('Select * From Data where CellId=\'a\'')会有错,也就是说问题关键在于CellId后面只能写字符常量,而不能写字符变量或整型变量,有没有人帮我?

7 个解决方案

#1


永远不要拼接SQL。所有拼接字符串产生SQL的代码都是0分。
至于怎么做是正确的,哪怕你花一分钟翻两页python自带的sqlite3文档,也能自己找到答案。

#2


谢谢,我不懂什么是拼接sql啊。。另外,你能给我提供点python的sqlite3文档么?我今下午才开始把以前的text文档改成数据库,刚开始sql数据库没一会,不明白啊,改了好久了,提示一下或给些链接资料谢谢了!
引用 1 楼 iambic 的回复:
永远不要拼接SQL。所有拼接字符串产生SQL的代码都是0分。
至于怎么做是正确的,哪怕你花一分钟翻两页python自带的sqlite3文档,也能自己找到答案。

#3


sqlite3是python标准模块。文档自己找。连最基本的文档都找不到,还怎么做开发?

#4


您好,麻烦您这么费心,我这几天刚接到老师的要求,主要精力是对wxpython的编程,sql只是用到一张表,时间也挺紧的,能告诉我具体做法么?不胜感激!我过后再系统学习数据库,以后肯定也会用到的。谢谢了!
引用 3 楼 iambic 的回复:
sqlite3是python标准模块。文档自己找。连最基本的文档都找不到,还怎么做开发?

#5


程序集python菜单里就有文档嘛,下面是网页,格式虽不同,但内容应该一致...

#7


您好,非常感谢你的帮助,我已经做好了,答案就在第一页呵呵。我还有个问题请教,我运行时候都通过了,基本完成功能了,但是老是提出警告:Warning (from warnings module):
  File "F:\自习室\python\Ace2\close.py", line 519
    if self.str[2]==ReadFile[0][4] or self.str[2]==unsure[0]or self.str[2]==nothing[0]:
UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
这个有必要改么?我知道是编码问题,我的sql是utf-8而python是什么ascii,根据这个警告我怎么修改啊,我如果把python也修改为utf-8,整个程序就运行不了了,不大明白。
引用 6 楼 angel_su 的回复:
忘了贴链接...
http://docs.python.org/library/sqlite3.html

#1


永远不要拼接SQL。所有拼接字符串产生SQL的代码都是0分。
至于怎么做是正确的,哪怕你花一分钟翻两页python自带的sqlite3文档,也能自己找到答案。

#2


谢谢,我不懂什么是拼接sql啊。。另外,你能给我提供点python的sqlite3文档么?我今下午才开始把以前的text文档改成数据库,刚开始sql数据库没一会,不明白啊,改了好久了,提示一下或给些链接资料谢谢了!
引用 1 楼 iambic 的回复:
永远不要拼接SQL。所有拼接字符串产生SQL的代码都是0分。
至于怎么做是正确的,哪怕你花一分钟翻两页python自带的sqlite3文档,也能自己找到答案。

#3


sqlite3是python标准模块。文档自己找。连最基本的文档都找不到,还怎么做开发?

#4


您好,麻烦您这么费心,我这几天刚接到老师的要求,主要精力是对wxpython的编程,sql只是用到一张表,时间也挺紧的,能告诉我具体做法么?不胜感激!我过后再系统学习数据库,以后肯定也会用到的。谢谢了!
引用 3 楼 iambic 的回复:
sqlite3是python标准模块。文档自己找。连最基本的文档都找不到,还怎么做开发?

#5


程序集python菜单里就有文档嘛,下面是网页,格式虽不同,但内容应该一致...

#6


#7


您好,非常感谢你的帮助,我已经做好了,答案就在第一页呵呵。我还有个问题请教,我运行时候都通过了,基本完成功能了,但是老是提出警告:Warning (from warnings module):
  File "F:\自习室\python\Ace2\close.py", line 519
    if self.str[2]==ReadFile[0][4] or self.str[2]==unsure[0]or self.str[2]==nothing[0]:
UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
这个有必要改么?我知道是编码问题,我的sql是utf-8而python是什么ascii,根据这个警告我怎么修改啊,我如果把python也修改为utf-8,整个程序就运行不了了,不大明白。
引用 6 楼 angel_su 的回复:
忘了贴链接...
http://docs.python.org/library/sqlite3.html