我想检索与我输入的 userID 关联的所有 songID ,但它只会打印第一个结果。
我的代码:
enter = raw_input('Enter UserID: ')
cursor = MusicData.cursor()
sql = "SELECT * FROM (SELECT songID FROM train WHERE userID=? )"
result = cursor.execute(sql,(enter,))
print result.fetchall()[0][0],
Enter UserID: 3a613180775197cd08c154abe4e3f67af238a632
SODOZXB12A8C13CD55
答案 0 :(得分:1)
由于以下原因,您只在第一列显示第一行
[0][0]
之后的print result.fetchall()[0][0]
答案 1 :(得分:0)
在您的SQL请求中添加“ LIMIT NN”。这样会将输出限制为NN行数:
sql = "SELECT * FROM Table LIMIT 5"
只会给你5行。
在MS SQL DB上,它应该是“ TOP”关键字:
sql = "SELECT TOP 5 * FROM Table"
答案 2 :(得分:0)
我通过添加fetchall()的for循环来修复它
if (dt1.Columns.Contains("ID"))
{
for (int i = dt1.Rows.Count - 1; i >= 0; i--)
{
DataRow dr = dt1.Rows[i];
if (dr["ID"].ToString() != "" && dr["ID"].ToString() != null)
{
dr.Delete();
}
}
dt1.Columns.Remove("ID");
}
答案 3 :(得分:0)
问题出在您的打印对帐单上。现在,通过提供print result.fetchall()[0][0]
,您正在要求python打印一个元素。使用
for item in result.fetchall():
print item