|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.02.2008, 11:21 | #1 |
Пользователь
Регистрация: 22.02.2008
Сообщений: 14
|
процедуры
Помогите пожалуйста!!! У меня в Delphi не работают процедуры которые должны изменять структуру БД, а точнее представления, процедуры компилируются но потом прога зависает, выскакиваеи ошибка :token unknown - line 1, char 33=. заранее спасибо!
|
25.02.2008, 19:40 | #2 |
Пользователь
Регистрация: 22.02.2008
Сообщений: 14
|
у меня выборка с помощью компонента TreeView осуществляется. там типо название подразделений и в таблицу он должен занести только
информацию об этом подразделениии. DataSet.CommandText:= 'SELECT * FROM FullList'; тут выбирается все представление, потом if AbsoluteIndex > 0 then если выбран не корневой элемент, то sidsDeps.Locate('DeptFullName',Text ,[]); DataSet.CommandText:= DataSet.CommandText + 'WHERE DepID='+ intToStr(sidsDepsDeptID.AsInteger)+ 'OR Parents STARTING WITH'''; В DataSet.CommandText вносится условие выбор только того подразделения для которых поле Parents начинается с соответствующего идентификатора(то есть sidsDepsDeptID) потом в этот Parents добавляется этот идентификатор DataSet.CommandText:= DataSet.CommandText+ sidsDepsParents.AsString; DataSet.CommandText:= DataSet.CommandText+ intToStr(sidsDepsDeptID.AsInteger)+ ','''; запрос должен получиться что то вроде SELECT * FROM FullList where DepID= 1 or Parents Starting with '1' |
25.02.2008, 20:05 | #3 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
FIIR, постарайтесь всё-таки посмотреть, как выглядит запрос прямо перед ошибкой.То, как он должен - не показатель. У меня есть подозрение, что пока Вы складываете строки, где-то теряется пробел между выражениями, плюс я не уверен, можно ли в Вашем SQL писать STARTING WITH '1', а не STARTING WITH('1'), я лично всегда LIKE пользуюсь..
|
25.02.2008, 20:45 | #4 |
Пользователь
Регистрация: 22.02.2008
Сообщений: 14
|
Когда я физически вписывал в DataSet.CommandText этот запрос он работал, а с помощью процедуры не хочет, но я на все 100% уверен что составлена она правильно, только не пойму если не из-за нее и не из-за запросов, тогда из-за чего.
Спасибо что отвечали. |
25.02.2008, 20:51 | #5 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
FIIR, "token unknown - line 1, char 33........." - это 100% ошибка в запросе. соберите его в какую-нибудь строку и выведите, наврняка сразу будет видно.
|
25.02.2008, 21:37 | #6 |
Пользователь
Регистрация: 22.02.2008
Сообщений: 14
|
Как это сделать?
у меня только тут 2 запроса DataSet.CommandText:= 'SELECT * FROM FullList'; и DataSet.CommandText:= DataSet.CommandText + 'WHERE DEPID= ' + intToStr(sidsDepsDeptID.AsInteger)+ 'OR Parents STARTING WITH'''; ну и в самом SimpleDataSet.CommandText записано SELECT * FROM FullList не доходит ни как че тут не верно SQL диалект 3й |
26.02.2008, 00:37 | #7 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
FIIR, соберите куски запроса в обычную строковую переменную, а не в DataSet.CommandText и перед выполнением запроса посмотрите на эту строку через ShowMessage, хотя бы так. Просто по тму, как сейчас написано, получается вот такой запрос:
SELECT * FROM FullListWHERE DEPID= 1OR Parents STARTING WITH'' |
26.02.2008, 01:21 | #8 | ||
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Но это - просто в глаза бросилось: Цитата:
'WHERE DEPID= ' + sidsDepsDeptID.AsString+ Ну, и при эксепшене сделайте один шажок и посмотрите, что там у вас в SQL-е (вам именно на это и намекают). Последний раз редактировалось mihali4; 26.02.2008 в 01:25. |
||
26.02.2008, 11:24 | #9 |
Пользователь
Регистрация: 22.02.2008
Сообщений: 14
|
ТОЧНО! В процедуре запрос без пробелов складывался.
ОГРОМНОЕ СПАСИБО! |
26.02.2008, 11:26 | #10 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Процедуры и функции | V25 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 17.11.2008 20:02 |
процедуры | Killbrum | Помощь студентам | 5 | 10.06.2008 08:59 |
Модули и процедуры | Алексей Д. | Помощь студентам | 32 | 24.05.2008 19:08 |
Время процедуры | AngelOfDeath | Общие вопросы Delphi | 11 | 29.04.2008 15:26 |
процедуры | FIIR | Помощь студентам | 2 | 26.02.2008 08:12 |