У меня проблема с возвратом значений для таблицы базы данных, с которой я работал ранее.
Я не могу вспомнить ничего, что я изменил, что могло повлиять на результат, и это происходит не для всех запросов.
Запрос работает в SQL, но возвращает 0 строк в моем наборе данных .. (Код на Python, ссылающийся на c # System.Data)
for i in range(0, len(jobsIn.Tables[0].DefaultView)):
connote = invoiceQuery("SELECT * from [db].[dbo].[table] where conno='%s'" % jobsIn.Tables[0].Rows[i]['conno'].strip())
print("SELECT * from [db].[dbo].[table] where conno = '%s'" % (jobsIn.Tables[0].Rows[i]['conno'].strip()))
print (jobsIn.Tables[0].Rows[i]['conno'])
print(connote.Tables[0].Rows.Count)
Это печатает следующее;
SELECT * from [db].[dbo].[table] where conno = '10271729'
10271729
0
Тем не менее, та же команда в SQL возвращает;
(20 row(s) affected)
Функция для запроса к серверу SQL;
def invoiceQuery(query):
conn = SqlClient.SqlConnection(-----))
conn.Open()
result = SqlClient.SqlCommand(query, conn)
data = SqlClient.SqlDataAdapter(result)
ds = DataSet()
data.Fill(ds)
conn.Close()
return ds
Не видит никаких возникающих исключений, и я застрял напочему запрос ничего не возвращает в коде, а 20 строк в SQL!