【问题标题】:Fetching a variable获取变量
【发布时间】:2017-09-05 21:57:47
【问题描述】:

我得到了这个代码:

cursor.execute('SELECT nom FROM productes WHERE listacompra = 1')
producteslc = cursor.fetchone()

问题是,当我打印producteslc 时,它返回(u'Natillas',),而SQL 数据库上的值只是Natillas。

我该怎么做才能有一个 value = Natillas 的变量?我正在尝试用 split 做一些事情,但我自己无法做到。

谢谢

【问题讨论】:

  • 此外,当 listacompra = 1 的值超过一个时,它只出现第一个。我也想知道怎么解决。

标签: python sql sql-server python-2.7 pymssql


【解决方案1】:

fetchone 的结果是一行值的元组。

由于您只获取单个列,因此结果是一个元组单例:(u'Natillas',)

获取字符串:

producteslc = cursor.fetchone()[0]

请参阅:文档中的Tuples and Sequences

编辑

要获取多行,可以使用fetchall()函数:

rows = cursor.fetchall()
for row in rows:
    print(row[0])

打印每个名字。

【讨论】:

  • 解决了第一个问题!非常感谢。无论如何,当有多个值满足条件时,我该如何解决?
  • “完成条件”是什么意思?有什么例子吗?
  • 现在我得到了一行 nom = Natillas, listacompra = 1 和另一行 nom = Chocolate, listacompra = 1。当我运行该代码时,它只返回 Natillas。我希望它同时返回。
  • 有效。非常感谢。现在,我怎么能将这些名称放在单独的变量中?
  • @Nico:不清楚你在问什么:“我怎么能把这些名字放在单独的变量中?”。 SO 的一个好习惯是post a new question
猜你喜欢
  • 2013-04-06
  • 2012-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-05
  • 2011-09-28
  • 2012-08-11
  • 2020-09-21
相关资源
最近更新 更多