Sql + Delphi =\, Проблема |
Здравствуйте, гость ( Вход | Регистрация )
Sql + Delphi =\, Проблема |
5.06.2007 - 20:59
Вставить ник | Быстрая цитата | Сообщение
#1
|
|
Продвинутый новичок Группа: Участник Сообщений: 57 Регистрация: 26.07.2006 Пользователь №: 14563 |
Дали мне задание составить маленькую табличку(типа бд) и программку написать для неё... Да всё это дело на дельфях... Так всё бы ничего, если только не одна проблема - как обычно надо делать поиск. Ищу вот так:
Код with form1.Query1 do begin Close; SQL.Clear; SQL.Add('SELECT Name, Type, Time, Actor, Memo'); SQL.Add('FROM ":video:video.db"'); SQL.Add('WHERE'); SQL.Add('(Actor = "'+ Actor + '")'); SQL.Add('ORDER BY Name'); Open; end; if Query1.RecordCount <> 0 then DataSource1.DataSet:=Query1 else ShowMessage('В БД ничего не найдено.'); Вот только не работает эта штука... Вот что выдаёт дебаггер(или кто там?): И указывает после нажатия "Ок" на строку "end." про самом проекте ;-) Что делать? Сроки горят... |
|
|
5.06.2007 - 21:34
Вставить ник | Быстрая цитата | Сообщение
#2
|
|
Постоялец форума Группа: Модератор Сообщений: 967 Регистрация: 17.08.2004 Пользователь №: 4400 |
Дали мне задание составить маленькую табличку(типа бд) и программку написать для неё... Да всё это дело на дельфях... Так всё бы ничего, если только не одна проблема - как обычно надо делать поиск. Ищу вот так: Код with form1.Query1 do begin Вот только не работает эта штука... Вот что выдаёт дебаггер(или кто там?): Close; SQL.Clear; SQL.Add('SELECT Name, Type, Time, Actor, Memo'); SQL.Add('FROM ":video:video.db"'); SQL.Add('WHERE'); SQL.Add('(Actor = "'+ Actor + '")'); SQL.Add('ORDER BY Name'); Open; end; if Query1.RecordCount <> 0 then DataSource1.DataSet:=Query1 else ShowMessage('В БД ничего не найдено.'); И указывает после нажатия "Ок" на строку "end." про самом проекте ;-) Что делать? Сроки горят... Оно тебе пишет, что слово Time неправильное! Т.е. это слово зарезервировано в SQL также как слова: date, timestamp, integer, varchar, table, where, order и т.п. Если сам создавал свою таблицу, то смени название столбца с Time на например TTime или указывай названия столбцов в одинарных кавычках. Но лучше сменить название поля. Я бы на всякий случай еще и Type поменял бы. Сообщение отредактировано leah - 5.06.2007 - 21:35 |
|
|
5.06.2007 - 22:14
Вставить ник | Быстрая цитата | Сообщение
#3
|
|
Продвинутый новичок Группа: Участник Сообщений: 57 Регистрация: 26.07.2006 Пользователь №: 14563 |
Спасибо... Только всё равно поиск не работает... =\
И ещё: по идее вот это вот должно упорялочить таблицу по Name. Верно? Код SQL.Add('SELECT *'); SQL.Add('FROM ":video:video.db"'); SQL.Add('ORDER BY Name'); Open; Но ничего, кроме этого не происходит: |
|
|
5.06.2007 - 22:30
Вставить ник | Быстрая цитата | Сообщение
#4
|
|
Постоялец форума Группа: Модератор Сообщений: 967 Регистрация: 17.08.2004 Пользователь №: 4400 |
Спасибо... Только всё равно поиск не работает... =\ И ещё: по идее вот это вот должно упорялочить таблицу по Name. Верно? Код SQL.Add('SELECT *'); Но ничего, кроме этого не происходит:SQL.Add('FROM ":video:video.db"'); SQL.Add('ORDER BY Name'); Open; Да верно! Сам запрос то исполняется не из дельфи? Я в дельфи не силен, просто увидел в первом посте явную ошибку в самом sql. Вот посмотри, нашел тебе ]]>http://www.codenet.ru/progr/delphi/stat/SQL-Delphi.php]]> Сообщение отредактировано leah - 5.06.2007 - 22:32 |
|
|
6.06.2007 - 13:35
Вставить ник | Быстрая цитата | Сообщение
#5
|
|
Постоялец форума Группа: Участник Сообщений: 807 Регистрация: 15.08.2005 Пользователь №: 9323 |
|
|
|
6.06.2007 - 20:56
Вставить ник | Быстрая цитата | Сообщение
#6
|
|
Продвинутый новичок Группа: Участник Сообщений: 57 Регистрация: 26.07.2006 Пользователь №: 14563 |
Да, я это и хотел сказать =)
Всем спасибо, все свободны, всё разрулилось -) |
|
|
Текстовая версия | Сейчас: 19.04.2024 - 22:46 |