Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2011, 00:47   #1
reihtmonbern
Форумчанин
 
Регистрация: 08.01.2011
Сообщений: 102
По умолчанию Проблема с SQL в интересном проекте..

Всем всем здравствуйте хочю обратиться за помощью имею базу acess работаю через ado с помощью memo1 ввожу произвольные sql запросы но нормально это дело не работает (я добавил проект в архиве сами посмотрите проверьте) sql запрос не может искать в вычисляемом поле sum такой запрос как select Код from Table1 тоже выдает ошибку для работы с sql использую следующий код :::
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 ADOQuery1.Active:=false;
  ADOQuery1.SQL.Text:=Memo1.Text;
  ADOQuery1.Active:=true;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Memo1.Text:=ADOQuery1.SQL.Text;
end;
between поиск по датам вообще не работает подскажите в чём проблема плизз.....


_______________________
Убрал вложение, т.к. в вашем вложении был вирус!
Virus.Win32.Induc.a
выложил новый архив.

_______________________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.
Вложения
Тип файла: rar Project_SQL.rar (395.0 Кб, 14 просмотров)

Последний раз редактировалось Serge_Bliznykov; 27.02.2011 в 02:47.
reihtmonbern вне форума Ответить с цитированием
Старый 27.02.2011, 03:14   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) У Вас в Delphi вирус!
Вам надо БЕГОМ в тему Delphi-“вирус” проверьте свою установленную Delphi!
и лечить среду Delphi!

2) для того, чтобы работали ПРОИЗВОЛЬНЫЕ запросы - УБЕРИТЕ ВСЕ поля из ADOQuery (вы же в DesignTime насовали туда полей, вот запрос их и ищет)

3) запрос с датами between лучше всего выполнять с помощью параметрического запроса. Если же по каким-то внутренним причинами очень хочется обойтись без параметров, тогда дату нужно записывать специальным образом (специально в формате MS Access) - читать: тырк
ну и здесь тоже самое -тырк
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.02.2011, 18:11   #3
reihtmonbern
Форумчанин
 
Регистрация: 08.01.2011
Сообщений: 102
По умолчанию Design Time

Design Time я так понимаю дэсижн тайм это я на вожу мышку на квадратик адо квери да ? два раза кликаю и выпригивает окошечко под названием Form1.ADOQuery1 и там список полей. но если я их удалю то у меня исчезнет вычесляемое поле мне это не подходит или я не так понял. если так то тогда Где живет Design Time. ( пришлите спрингшот пожайлуста)
reihtmonbern вне форума Ответить с цитированием
Старый 27.02.2011, 18:34   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы всё правильно поняли. Всё так и есть.

Цитата:
но если я их удалю то у меня исчезнет вычесляемое поле мне это не подходит
точно. исчезнет. А если Вы не удалите поля, тогда Вы не можете задавать произвольный текст запроса. Выбирайте что Вам нужно.

p.s. вычисляемое поле обычно можно заменить вычислениями на уровне запроса.
например, в вашем случае:
уберите все поля (и код на OnCalcFields разумеется) и выполните такой запрос:
Код:
select *, [число]*[колличество] as Sum from table1

Последний раз редактировалось Serge_Bliznykov; 27.02.2011 в 18:40.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.02.2011, 18:55   #5
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
это я на вожу мышку на квадратик
В "Шедевры форума" просится...
_SERGEYX_ вне форума Ответить с цитированием
Старый 27.02.2011, 19:47   #6
reihtmonbern
Форумчанин
 
Регистрация: 08.01.2011
Сообщений: 102
По умолчанию ре..

сделал всё как выше сказано пишу такой вот запрос select *, [число]*[колличество] as Sum from table1
и выдает ошибку (спрингшот1)
вожу следующий запрос select Код from table1 выдает ошибку (спрингшот2)
как быть ?
Изображения
Тип файла: jpg спрингшот1.jpg (126.2 Кб, 159 просмотров)
Тип файла: jpg спрингшот2.jpg (112.6 Кб, 147 просмотров)
reihtmonbern вне форума Ответить с цитированием
Старый 27.02.2011, 19:59   #7
alexvav
Форумчанин
 
Регистрация: 23.11.2006
Сообщений: 152
По умолчанию

спрингшоты очень помогли.
alexvav вне форума Ответить с цитированием
Старый 28.02.2011, 11:23   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

reihtmonbern, это я виноват, что повелся на поводу Вашего исходного кода!
Разумеется, sum поле в запросе называть нельзя!
Это ключевое слово!
Надо изменить это на любое другое, например, попробуйте такой запрос:
Код:
select *, [число]*[колличество] as Sum1 from table1
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с SQL-запросом stscolt БД в Delphi 5 19.02.2010 16:47
Проблема с SQL запросом Bilargo БД в Delphi 4 27.11.2009 19:10
Участие в интересном проекте за деньги Anton-Kassianov Фриланс 3 18.03.2009 00:20
проблема с SQL 5.0.37 Pitbull БД в Delphi 0 15.06.2007 10:31