Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 28, 2015 16:00:53

2234
Зарегистрирован: 2015-04-19
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу сделать выборку из таблицы в базе..

Добрый день,

Помогите пожалуйста, не получается сделать выборку из таблицы (в базе), подключение проходит, а select нет.

Python 3.2
База SQL 2008
установлен pyodbc модуль


Подключение проходит.

import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=#;DATABASE=#;UID=#;PWD=#')
cursor = cnxn.cursor()

t = ('1',)
c.execute('select ms from Voice where symbol=?', t)

Ошибка:
Traceback (most recent call last):
File “C:\Python32\base_v1.2.py”, line 7, in <module>
c.execute('select ms from Voice where symbol=?', t)
NameError: name ‘c’ is not defined


Пробовал второй вариант тоже не проходит.

#cursor.execute(“select * from Voice”)
#row = cursor.fetchone()
#if row:
# print(row)

Ошибка:
Traceback (most recent call last):
File “C:\Python32\base_v1.2.py”, line 10, in <module>
cursor.execute(“select ms from Voice”)
pyodbc.ProgrammingError: ('42S02', " Invalid object name ‘Voice’. (208) (SQLExecDirectW)")

Заранее благодарю.





Офлайн

#2 Авг. 28, 2015 16:08:46

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Не могу сделать выборку из таблицы в базе..

2234
NameError: name c is not defined
Имя c не определено. Там cursor надо писать.

2234
pyodbc.ProgrammingError: ('42S02', " Invalid object name ‘Voice’. (208) (SQLExecDirectW)")
Нет такой таблицы. Либо базу не выбрал, либо имя не то.



Офлайн

#3 Авг. 28, 2015 16:34:29

2234
Зарегистрирован: 2015-04-19
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу сделать выборку из таблицы в базе..

py.user.next

Попробовал вот так.(Вариант 1) Коннект прошел.
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=#;DATABASE=#;UID=#;PWD=#')
t = ('1',)
c.execute('select ms from Voice where symbol=?', t)
Ошибка таже:
Traceback (most recent call last):
  File "C:\Python32\base_v1.2.py", line 7, in <module>
    c.execute('select ms from Voice where symbol=?', t)
NameError: name 'c' is not defined
Вариант 2
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=#;DATABASE=#;UID=#;PWD=#')
cursor = cnxn.cursor()
cursor.execute("select ms from Voice")
row = cursor.fetchone()
if row:
    print(row)
Ошибка:
Traceback (most recent call last):
  File "C:\Python32\base_v1.2.py", line 10, in <module>
    cursor.execute("select ms from Voice")
pyodbc.ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'Voice'. (208) (SQLExecDirectW)")
Таблица правильная, база правильная имя тоже правильное.
Коннект проходит.(# - вставляю свои данные)
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=#;DATABASE=#;UID=#;PWD=#')
cursor = cnxn.cursor()

Подскажите пожалуйста.

Отредактировано FishHook (Авг. 28, 2015 16:36:55)

Офлайн

#4 Авг. 28, 2015 16:37:55

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не могу сделать выборку из таблицы в базе..

Не очень получилось. Тренируйся.



Офлайн

#5 Авг. 28, 2015 16:38:48

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не могу сделать выборку из таблицы в базе..

Я к чему, оформляй код по-человечески или никак.



Офлайн

#6 Авг. 28, 2015 18:15:40

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Не могу сделать выборку из таблицы в базе..

2234
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=#;DATABASE=#;UID=#;PWD=#')
Заполни решётки буквами. Даже если это синтаксис какой-то специальный, надо всё равно попробовать.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version