В настоящее время я пишу приложение на IronPython / WPF и буду интенсивно использовать операторы выбора и установки SQL во время производства.
Я успешно подключился к серверу и могу получать нужные данные с помощью запросов. Однако у меня возникли проблемы с анализом данных ответа. См. Ниже код
import clr
clr.AddReference('System.Data')
from System.Data import *
query = 'sqlquery'
conn = SqlClient.SqlConnection(--sql connection properties--)
conn.Open()
result = SqlClient.SqlCommand(query, conn)
data = result.ExecuteReader()
while data.Read():
print(data[0])
data.Close()
conn.Close()
У меня возникла проблема print(data[0])
, необходимая для печати любого ответа SQL, простая печать (данные) возвращает:
<System.Data.SqlClient.SqlDataReader object at 0x00000000000002FF [System.Data.SqlClient.SqlDataReader]>
Однако print(data[0])
возвращает только индекс строки в SQL, [1]
следующий столбец и т. Д. И т. Д.
Я хотел бы получить доступ ко всем данным из строки (где строки могут быть переменнымидлины, разные запросы и т. д.)
Как я могу заставить это работать?
РЕДАКТИРОВАТЬ:
Я успешно извлек все данные из одной строкиответ со следующим кодом:
for i in range(1, data.FieldCount):
print(data.GetName(i))
print(data.GetValue(i))
Просто нужно определить, как выполнить эту итерацию для всех возвращаемых строк, чтобы я мог передать ее в dict / datagrid