Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Вниз

что-то не могу обратится к полю...беда...что-то не так?   Найти похожие ветки 

 
Nikolai   (2003-10-03 10:52) [0]

Внизу не хитрый код. На MS SQL 7 есть процедура, которая возвращает в Delphi6 курсор с одной записью. Если подключить визуальный компонент - все видно, все хорошо. А вот без него обратиться к полю "myfield" не выходит. Компилятор предупреждает, что значение переменной, после попытки присвоить ей значение поля "myfield", не доступно, хотя явных ошибок он не находит. Что-то не так написал? Прошу помощи.

cSQL := "execute myproc";
qSel := TQuery.Create(nil);
try
with qSel do begin
DatabaseName := "DB";
Close;
SQL.Clear;
SQL.Add(cSQL);
Open;
iM := FieldByName("myfield").asInteger;
Close;
Free;
end;
except
on E: Exception do begin
ShowMessage(E.Message);
qSel.Free;
end;
end;


 
Johnmen   (2003-10-03 11:05) [1]

1. Компилятор выкидывает переменную iM как неиспользуемую.
2. Возможно, правильнее писать SELECT * FROM myproc


 
MsGuns   (2003-10-03 11:35) [2]

А зачем Close для только что созданного и, след-но, не открытого TQuery ? Хотя на ошибку это не влияет, конечно ;)


 
Rem   (2003-10-03 11:51) [3]

1. Какая область видимости переменной iM?
2. Для чего она потом используется?


 
Nikolai   (2003-10-03 14:57) [4]

iM - локальная, висит на кнопке, это максимальное значение поля


 
ЮЮ   (2003-10-04 04:21) [5]

>iM - локальная, висит на кнопке

Это как? Вот и повесь:
iM := FieldByName("myfield").asInteger;
Button.tag := iM;
Button.Caption := IntToStr( iM);

Иначе см.[1]:


 
Bhagavad   (2003-10-04 18:44) [6]

execute - ничего не возвращает.
select myfield from <имя процедуры>(<параметры>)


 
sniknik   (2003-10-04 19:02) [7]

Johnmen © (03.10.03 11:05) [1]
> 2. Возможно, правильнее писать SELECT * FROM myproc

Bhagavad (04.10.03 18:44) [6]
> execute - ничего не возвращает.
> select myfield from <имя процедуры>(<параметры>)

да не все правильно для MSSQL все возвращает (если внутри процедуры конечно есь select) можно даже exec опустить все правильно будет, это вы начерное с IB путаете, там к процедуре без параметров как в View можно обращатся через селект в MSSQL такое обращение наоборот даст ошибку.

Nikolai © (03.10.03 10:52)
см. Johnmen © (03.10.03 11:05) [1] пункт 1.
& ЮЮ © (04.10.03 04:21) [5]
скорее всего дело именно в оптимизаторе.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.01 c
14-74470
ZeroDivide
2003-10-03 10:19
2003.10.23
Админы, а вам не кажеться, что


14-74460
sashcan
2003-10-03 15:57
2003.10.23
оКНА


1-74165
Nobody2002
2003-10-10 14:44
2003.10.23
DBGrid - как выделять всю строку с возможностью редактирования


3-74051
ALFA
2003-10-02 15:37
2003.10.23
ПЕРЕКОДИРОВКА


7-74505
Fredericco
2003-08-06 20:23
2003.10.23
Корректное закрытие приложения, зная hProcess.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский