IBQuery nie pobiera wartości integer

0

Piszę aplikację bazodanową opartą na Interbase i mam następujący problem. Wszystkie pytania wysyłam do bazy przez ibquery. W przypadku gdy pobieram dane z pól string wszystko jest wporządku, lecz każda próba pobrania przez ibquery danych z pola typu Integer kończy się komunikatem w wolnym tłumaczeniu "Takie pole nie istnieje" :/
Z góry dziękuję za pomoc.

0

<font size="6">KOD!!!</span>

ludzie myślcie jak zadajecie pytania!!!

0
procedure TForm1.Button3Click(Sender: TObject);
var r:integer;
    l:string;
begin
l:=IBQuery1.FieldByName('ROK').asstring;
r:=IBQuery1.FieldByName('KIERUNEK').asinteger;
end;

W tym przypadku z pola Rok pobiera wartość bez problemu a dla Kierunek wyskakuje wiadomość "Field 'KIERUNEK' not found.
Zapytanie w ibquery ma postać "SELECT * FROM PRACE" więc powinno pobrać wszystkie pola.

0
  1. a jak wygląda tabela PRACE?
  2. jesteś pewien, że masz dobre zapytanie wpisane do query
0

Wszystko powinno być dobrze.
Mam 4 pola typu varchar i z nich pobiera mi do stringa i 4 pola typu Integer. Nazwy się zgadzają bo już sprawdzałem czy nie przekręciłem nazwy pola. To po prostu wygląda tak jakby ibquery nie przyjmowało pól typu integer.

0

to Ty chcesz odpowiedzi nie ja a ja nie mam czasu Cię prosić o cokolwiek

EOT

0

mealfis wstaw kod metadata tej tabeli i pokaz kod z programu delphi gdzie masz wstawiana do query komende i jak jest ona wykonywana :)

0

Piszę aplikację bazodanową opartą na Interbase i mam następujący problem. Wszystkie pytania wysyłam do bazy przez ibquery. W przypadku gdy pobieram dane z pól string wszystko jest wporządku, lecz każda próba pobrania przez ibquery danych z pola typu Integer kończy się komunikatem w wolnym tłumaczeniu "Takie pole nie istnieje" :/
Z góry dziękuję za pomoc.

Też kiedyś miałem taki problem i wiesz jak go rozwiązałem? Po prostu wstawiłem dwa komponenty IBQuery. Pod pierwszym odczytywałem sobie bazę a pod drugim robiłem operacje różne i nie miałem już komunikatu że brakuje mi pola itd.
0

Pewnie nie utworzyłeś tego pola w IBQuery. Kliknij dwukrotnie na ten komponent i sprawdź.
Poza tym i tak jesteś szczęściarzem, bo mi się nie udało wysłać danych przez IBQuery nigdy. Zawsze dostawałem jakiś dziwny komunikat.

Jeszcze jedna sprawa. Nie wiem, na czym robisz, ale Firebird w wersji 1.5 miał problem z aliasami pól. Czyli jak robiłeś np: Select t.pole as jakies_pole, to nie wiedzial co to "jakies_pole".

W wersji 2.0 już z tym było trochę lepiej.

0

Juhas pomijając fakt, że zazwyczaj Twoje konstrukcje do normalnych czy też standardowych nie należą to gwarantuje Ci, że zarówno wykonywanie zapytań typu UPDATE, DELETE, INSERT przez IBQuery jak i aliasy działają zarówno z FB 1.5 jak i 2.0 i nowszych

1 użytkowników online, w tym zalogowanych: 0, gości: 1