Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка в SQL запросе, думаю синтаксис(база MS SQL 2000) 
:(
    Опции темы
Berliner
Дата 3.10.2005, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 18.5.2005

Репутация: нет
Всего: 2




Вот так вот работает
Код


procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from Rates where  ActionID=303 and  DayDate = ' + IntToStr(DelphiToSQLDate(DateTimePicker1.DateTime)) );
//adOQuery1.SQL.Add('Select * from rates');
ADOQuery1.Open;
Euro1:=Form1.ADOQuery1.FieldbyName('IniNum').AsString;
Euro2:=Form1.ADOQuery1.FieldbyName('IniDen').AsString;
Form1.Edit1.Text:=FloatTostr((StrToFloat(Euro1))/(StrToFloat(euro2)));
end;



когда добавил еще одно условие то не работает! CurrencyTag='Eur'
Код


ADOQuery1.SQL.Add('Select * from Rates where CurrencyTag='Eur' and  ActionID=303 and  DayDate = ' + IntToStr(DelphiToSQLDate(DateTimePicker1.DateTime)) );



подскажите пожалуста в чем проблема
PM   Вверх
Bes
Дата 3.10.2005, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 2
Всего: 7



Я конечно не знаю что там за спецФункция
DelphiToSQLDate
и тем более зачем команда IntToStr но предположим даже все правильно, тогда единственное предположение:
Просто нет записей, удовлетворяющих такому условию!!!
А я бы порекомендовал использовать парамтры - проще и надежнее.

PM MAIL   Вверх
Berliner
Дата 3.10.2005, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 18.5.2005

Репутация: нет
Всего: 2



Записи есть!


Код

function DelphiToSQldate(scDate:TDateTime):longint;
begin
Result:=Round(Int(scDate))-2;
end;



Я думаю там что то с кавычками одинарными
PM   Вверх
bas
Дата 3.10.2005, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

Репутация: 1
Всего: 2



Цитата(Berliner @ 3.10.2005, 11:23)
Я думаю там что то с кавычками одинарными

Явно в этом месте
Цитата(Berliner @ 3.10.2005, 10:22)
CurrencyTag='Eur'


PM MAIL   Вверх
Bes
Дата 3.10.2005, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 2
Всего: 7



Да вообще хрень какая-то. напиши так:

Код

ADOQuery1.SQL.Text:='Select * from Rates where CurrencyTag= :CT and  ActionID= :Aid and  DayDate = :DT';
ADOQuery1.Parametrs[0].value:='Eur';
ADOQuery1.Parametrs[1].value:=303;
ADOQuery1.Parametrs[2].value:=DateTimePicker1.Date;


И будет тебе счастье.
А вообще дата конечно указывается в кавычках.
Ну и конечно нюанс что у тебя в поле ДэйДата, потому что там со временем данные или только дни....
PM MAIL   Вверх
Vet
Дата 4.10.2005, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 24.2.2005

Репутация: нет
Всего: нет



Цитата
Я думаю там что то с кавычками одинарными

Код

 ADOQuery1.SQL.Add('Select * from Rates where CurrencyTag='Eur' and  ActionID=303 and  DayDate = ' + IntToStr(DelphiToSQLDate(DateTimePicker1.DateTime)) );

Так это же у тебя даже не скомпилируется!
Напиши:
Код

 ADOQuery1.SQL.Add('Select * from Rates where CurrencyTag=' + #39 + 'Eur' + #39 + ' and  ActionID=303 and DayDate = ' + IntToStr(DelphiToSQLDate(DateTimePicker1.DateTime)) );

Цитата
И будет тебе счастье
smile
PM MAIL   Вверх
Berliner
Дата 5.10.2005, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 18.5.2005

Репутация: нет
Всего: 2



спасиб за подсказки
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.2173 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.