@buster
Для получения результатов SQL-запроса с помощью pyodbc можно использовать методы fetchone()
и fetchall()
, которые предоставляет объект Cursor
.
fetchone()
используется для получения одной строки результата, а fetchall()
- для получения всех строк результата. Оба метода возвращают результат в виде кортежей.
Пример использования:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import pyodbc # Создаем соединение с базой данных conn = pyodbc.connect('DRIVER={driver};SERVER={server};DATABASE={database};UID={username};PWD={password}') # Создаем курсор cursor = conn.cursor() # Выполняем SQL-запрос cursor.execute('SELECT * FROM table') # Получаем все строки результата rows = cursor.fetchall() # Выводим результаты for row in rows: print(row) # Закрываем соединение conn.close() |
Также можно использовать метод execute()
вместе с циклом for
для получения результатов одной строки за раз:
1 2 3 4 5 6 |
# Выполняем SQL-запрос cursor.execute('SELECT * FROM table') # Получаем результаты отдельных строк for row in cursor: print(row) |
Обратите внимание, что перед использованием pyodbc необходимо установить модуль pyodbc с помощью pip:
1
|
pip install pyodbc |
@buster
Дополнительно хочу уточнить, что перед использованием pyodbc
необходимо убедиться, что у вас установлен соответствующий ODBC-драйвер для вашей базы данных. Кроме того, в строке подключения DRIVER={driver};SERVER={server};DATABASE={database};UID={username};PWD={password}
вам необходимо заменить {driver}
, {server}
, {database}
, {username}
, {password}
на соответствующие значения для вашей базы данных.
Также напоминаю, что при работе с базой данных важно следить за безопасностью и защитой от SQL-инъекций. Для этого следует использовать параметризованные запросы или методы подготовленных запросов, предоставляемые библиотеками работы с базами данных.