Текущий архив: 2011.07.03;
Скачать: CL | DM;
Внизsql запрос - проблема разделения на части Найти похожие ветки
← →
fynjy93 © (2011-03-25 16:39) [0]может кто сможет помочь - у меня запрос, он не влазает в 255 символов для sql add, как бы его разделить, что бы делфи не ругалось на не правильный запрос - проверено, что запрос рабочий:
SELECT T_SPISOK_BIBLOITEK.Nazvaanie, T_SPISOK_BIBLOITEK.ADRESS, T_o_knige.nazvanie, T_o_knige.god_izdatelstva, T_Avtor.Names, T_Avtor.surname
FROM T_Avtor INNER JOIN (T_SPISOK_BIBLOITEK INNER JOIN T_o_knige ON T_SPISOK_BIBLOITEK.Kod_Bibliotek = T_o_knige.kod_biblioteki) ON T_Avtor.Kod_Avtora = T_o_knige.Kod_Avtora;
за ранее спасибо!
← →
MsGuns © (2011-03-25 16:41) [1]Какой компонент используется ?
← →
Медвежонок Пятачок © (2011-03-25 16:41) [2]как бы его разделить
пополам раздели
← →
Медвежонок ХМЛ © (2011-03-25 16:42) [3]Какой компонент используется ?
компонет const/var типа стринг и литреал справа через :=
← →
clickmaker © (2011-03-25 16:43) [4]используй альясы для таблиц
← →
MsGuns © (2011-03-25 16:47) [5]Имена столбцов/таблиц...
Повбывав бы !
← →
Palladin © (2011-03-25 16:49) [6]"12345" = "123" + "45"
если вдруг ты не знал
← →
Palladin © (2011-03-25 16:49) [7]дожили... строчку разделить на несколько не могут....
← →
fynjy93 © (2011-03-25 16:59) [8]
DataModule2.avtor_query.sql.add("SELECT T_SPISOK_BIBLOITEK.Nazvaanie, T_SPISOK_BIBLOITEK.ADRESS, T_o_knige.nazvanie, T_o_knige.god_izdatelstva, T_Avtor.Names, T_Avtor.surname"+" FROM T_Avtor INNER JOIN (T_SPISOK_BIBLOITEK INNER JOIN T_o_knige ON T_SPISOK_BIBLOITEK.Kod_Bibliotek=T_o_knige.kod_biblioteki) ON T_Avtor.Kod_Avtora=T_o_knige.Kod_Avtora;");
так не пашет...
← →
fynjy93 © (2011-03-25 17:01) [9]
> используй альясы для таблиц
можно по подробнее?
← →
Loginov Dmitry © (2011-03-25 17:48) [10]
> так не пашет...
Где такой большой SQL-код набрал? Поменьше нельзя? НапримерSELECT * FROM T_SPISOK_BIBLOITEK
(для начала)
:)
Или хотя бы так:SELECT sb.Nazvaanie, sb.ADRESS, k.nazvanie, k.god_izdatelstva, a.Names, a.surname
FROM T_Avtor a, T_SPISOK_BIBLOITEK sb, T_o_knige k
WHERE sb.Kod_Bibliotek=k.kod_biblioteki AND a.Kod_Avtora=k.Kod_Avtora
← →
Медвежонок Пятачок © (2011-03-25 18:04) [11]так не пашет...
так не сезон же еще. пахать.
ну и точка с запятой лишняя есть.
← →
fynjy93 © (2011-03-25 19:11) [12]
> Или хотя бы так:
> SELECT sb.Nazvaanie, sb.ADRESS, k.nazvanie, k.god_izdatelstva,
> a.Names, a.surname
> FROM T_Avtor a, T_SPISOK_BIBLOITEK sb, T_o_knige k
> WHERE sb.Kod_Bibliotek=k.kod_biblioteki AND a.Kod_Avtora=k.
> Kod_Avtora
не робит, по ковырялся, думаю без INNER JOIN не будет =(
← →
Inovet © (2011-03-25 19:35) [13]Попросили же сказать, через что и с чем работаешь.
← →
fynjy93 © (2011-03-25 19:37) [14]работаю я через ADO query , база в ACCESS 2007, обрабатываю в делфи, ввожу запрос командой sql.add и sql.text
← →
DiamondShark © (2011-03-25 20:19) [15]
> так не пашет...
Молча так. Не пашет и всё.
Или чем-то, всё-таки, ругается?
← →
fynjy93 © (2011-03-25 20:39) [16]пишет не известная ошибка
← →
Inovet © (2011-03-25 21:46) [17]> [16] fynjy93 © (25.03.11 20:39)
> не известная ошибка
Прямо сообщение об ошибке с ошибками пишет? В окне с сообщением должно работать ctrl+c.
← →
fynjy93 © (2011-03-25 21:57) [18]http://iscr.ru/photo/1301079418_111.jpg
вот тебе ссылка на скрин ошибки ctr+c не пашет
← →
DiamondShark © (2011-03-25 22:08) [19]Хопа!
Начали с невлезающей строки, а оказалось эвон как.
Ну, может, мы теперь фрагмент кода увидим, с указанием в какой строке ошибка.
А может нам настолько повезёт, что мы и класс исключения узнаем.
А если класс -- EOleException (что весьма вероятно), то может быть случится чудо, и нас осенит даже значением HResult
Хотя, нет. Чудес не бывает.
← →
Игорь Шевченко © (2011-03-25 22:11) [20]
> пишет не известная ошибка
зачем ты врешь ?
← →
Loginov Dmitry © (2011-03-25 22:22) [21]
> пишет не известная ошибка
В духе MS прям! :) При работе с MS SQL Server Management Studio подобного содержания ошибки лезут с завидным постоянством :)
И всеж таки давай больше подробностей!
← →
fynjy93 © (2011-03-25 22:23) [22]
> А если класс -- EOleException
с таким классом не работал
> осенит даже значением HResult
не знаком с этим
> фрагмент кода увидим
это тот же запрос, что я кидал,прибавь только к немуwith DataModule2.avtor_query do
begin
Active:=false;
sql.Clear;
sql.Add("SELECT sb.Nazvaanie, sb.ADRESS, k.nazvanie, k.god_izdatelstva, a.Names, a.surname FROM T_Avtor a, T_SPISOK_BIBLOITEK sb, T_o_knige k WHERE sb.Kod_Bibliotek=k.kod_biblioteki AND a.Kod_Avtora=k.Kod_Avtora;");
Active:=true;
end;
← →
И. Павел © (2011-03-25 22:42) [23]
> fynjy93 © (25.03.11 22:23) [22]
Используйте ADODataSet.
Почему сразу решили, что дело в длине строке? Если заменить запрос на более короткий, то все работает?
← →
sniknik © (2011-03-25 22:46) [24]Names
← →
fynjy93 © (2011-03-26 00:36) [25]нет, просто символов, которые может включать любое строковое значение - 255, а тут больше)
можно информацию о датасет, ни разу не пользовался.
← →
Inovet © (2011-03-26 00:54) [26]> [25] fynjy93 © (26.03.11 00:36)
> нет, просто символов, которые может включать любое строковое
> значение - 255, а тут больше)
Это отчего 255? Строки разные есть.
Это история про x,y,z. Ссылку забыл.
← →
fynjy93 © (2011-03-26 00:59) [27]понятно, видимо я ошибся))) полезу завтра с утра в гугл попоподу датасет)
← →
Германн © (2011-03-26 02:08) [28]
> fynjy93 © (26.03.11 00:36) [25]
>
> нет, просто символов, которые может включать любое строковое
> значение - 255, а тут больше)
Это всего лишь ограничение IDE. На количество символов в одной "текстовой" строке исходника. К значениям переменных/констант это ни в коей мере не относится.
← →
И. Павел © (2011-03-26 08:28) [29]
> fynjy93 ©
Обратите внимание на [24]. Попробуйте взять поле names в квадратные скобки - может быть это ключевое слово.
← →
Медвежонок Пятачок © (2011-03-26 12:48) [30]....AND a.Kod_Avtora=k.Kod_Avtora;");
Жирное убери наконец.
← →
Плохиш © (2011-03-26 17:12) [31]А я, всё-таки, посоветую аФФтару нанять программиста.
← →
Плохиш © (2011-03-26 17:13) [32]
> Loginov Dmitry © (25.03.11 22:22) [21]
Ну да, у каждого дебилки MS виновато.
← →
Loginov Dmitry © (2011-03-26 18:05) [33]
> Ну да, у каждого MS виновато
При работе с "MS SQL Server Management Studio Express Edition" задолбали сообщения типа:
- неизвестная ошибка
- неопознанная ошибка
- непредвиденный сбой
- и т.д. и т.п.
А уж кто там виноват, MS или не MS... Нет времени выяснять.
← →
fynjy93 © (2011-03-26 19:43) [34]
>
> Обратите внимание на [24]. Попробуйте взять поле names в
> квадратные скобки - может быть это ключевое слово.
действительно есть прогресс, теперь он выводит 1 запись (их 6 есть) и выдает ошибку.
вот
http://iscr.ru/photo/1301157760_111.jpg
P.S. этот запрос идет на вывод в Exel, мало ли, поможет.
← →
clickmaker © (2011-03-26 19:45) [35]> При работе с MS SQL Server Management Studio подобного содержания
> ошибки лезут с завидным постоянством :)
потому что его индусы писали. Которым не помогли на данном форуме
← →
Anatoly Podgoretsky © (2011-03-26 22:18) [36]> fynjy93 (26.03.2011 19:43:34) [34]
Элемент с индексом 6 для 6 записей недопустим, о чем и выдается сообщение.
← →
Плохиш © (2011-03-27 01:47) [37]
> При работе с "MS SQL Server Management Studio Express Edition"
> задолбали сообщения типа:
Наверное я не стой студией работаю. Попробуй установить последнюю.
← →
Palladin © (2011-03-27 04:12) [38]а теперь считаем поля и видим что их 6... предварительный диагноз сводится к тому что пациент полез к 6 полю, которые имеет индек 5
← →
Inovet © (2011-03-27 05:38) [39]> [38] Palladin © (27.03.11 04:12)
> а теперь считаем поля и видим что их 6...
Пртизанен капут.
← →
fynjy93 © (2011-03-27 17:28) [40]ошибка найдена, одну из переменных из глобальной перевел в локальную и заработало!
Страницы: 1 2 вся ветка
Текущий архив: 2011.07.03;
Скачать: CL | DM;
Память: 0.54 MB
Время: 0.003 c