|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
ADOQuery и Ini-файлы
Вопрос по параметрам!
Код:
Ini:=TIniFile.Create(IniFileName); Sis:=Ini.ReadInteger('User','Sis',0); with Form1.ADOQuery1 do begin SQL.Clear; SQL.Add('Select Reports'); SQL.Add('From Reports'); SQL.Add('Where Sis<=:Sis'); Parameters[0].Value:=Sis; Active:=True; open; end; Цитата:
Ну это нормально... |
#2
|
||||
|
||||
Попробуй так:
Код:
Ini:=TIniFile.Create(IniFileName); Sis:=Ini.ReadInteger('User','Sis',0); with Form1.ADOQuery1 do begin SQL.Clear; SQL.Add('Select Reports'); SQL.Add('From Reports'); SQL.Add('Where Sis<=:Sis'); Parameters.ParseSQL(SQL.Text,True); Parameters.ParamByName('Sis').Value:=Sis; // Active:=True; - Это лишнее open; end; |
#3
|
|||
|
|||
попробуй так
Код:
with Form1.ADOQuery1 do begin SQL.Clear; SQL.Add('Select Reports'); SQL.Add('From Reports'); SQL.Add('Where Sis<=:Sis'); Ini:=TIniFile.Create(IniFileName); ParamByName('Sis').AsInteger := StrToInt(Ini.ReadInteger('User','Sis',0)); Active:=True; end; а параметр можешь передавать и без всяких переменных... |
#4
|
||||
|
||||
Неправда Ваша, dron-s.
Нету у TParameter свойства AsInteger да и прочих As... тоже. Так же нет у TADOQuery метода ParamByName. Приведенный Вами код вообще компилироваться не будет. Я тут описался как-то раз про As..., посыпаю голову пеплом, но если Вы не проверяли, то зачем советуете? |
#5
|
|||
|
|||
да. и правда as нет, но есть Value
так что перепишу вот так Код:
with Form1.ADOQuery1 do begin SQL.Clear; SQL.Add('Select Reports'); SQL.Add('From Reports'); SQL.Add('Where Sis<=:Sis'); Ini:=TIniFile.Create(IniFileName); Parameters.ParamByName('Sis').Value := StrToInt(Ini.ReadInteger('User','Sis',0)); Active:=True; end; |
#6
|
||||
|
||||
И опять не будет компилироваться
|
#7
|
|||
|
|||
и в чём же ошибка на этот раз?
p.s. просто нет delphi под руками чтобы проверить... |
#8
|
|||
|
|||
А ошибка в этот раз в том, что ParamByName только у обычного Query есть. У ADO его нету. У ADO только Parameters[] есть. По индексу.
Ну это нормально... |
#9
|
||||
|
||||
2 Washington
Как это нету, все есть. Кстати, у обычного TQuery.Params.ParamByName у TADOQuery.Parameters.ParamByName 2 dron-s StrToInt(Ini.ReadInteger('User','Sis',0)) - ошибка, несоответствие типов. TIniFile.ReadInteger - тип LongInt |
#10
|
|||
|
|||
Хех, ну уберите StrToInt и всё будет нормально...
просто я то думал что он в конце концов получает строку... p.s. для автора наглядный пример порпробывать и разобраться самому, а не скатывать всё готовое с форума и говорить что я это сам сделал... пусть будет хоть доля правды |
#11
|
||||
|
||||
Не буду вдаваться во флейм, скажу только что сам виноват, не посмотрел раздел, думал что Начинающим
|
#12
|
|||
|
|||
Дак сделал, как вы посоветовали. Всё равно ошибка. С форума я ничего не скатываю, а просто прошу помощи в решении проблемы. И всё.
Ну это нормально... |
#13
|
|||
|
|||
какая ошибка на этот раз?
p.s.телепаты в отпуске... |
#14
|
|||
|
|||
Та же самая ошибка. В начале описал.
Ну это нормально... |
#15
|
|||
|
|||
Разобрался я с этой ошибкой. Не смейтесь пожалуйста, но имена полей в таблице и в запросе не совпадали. Глупо, я знаю
Ну это нормально... |