ADO & TurboDelphi & FireBird

0

Korzystam z ADO pod Turbo Delphi do połaczenia z serverem FireBird1.5.3. Podczas próby wpisania jakiejś wartości do pola LOGNAME (oraz wszystkich innych) wyskakuje mi błąd "Field LOGNAME cannot be modified"

procedure TForm9.Button6Click(Sender: TObject);
begin
ADOTable1.Edit;
ADOTable1Logname.AsString:='abc'; -> tu błąd: "Field LOGNAME cannot be modified"
ADOTable1.Post;
end;

Poza tym w DBGrid również nie mogę nic edytować.

Czy ktos może wie co powinienem zmienic aby dało się edytować pola?

0

a nie powinno być tak:

procedure TForm9.Button6Click(Sender: TObject);
begin
ADOTable1.Edit;
ADOTable1.FieldByName('Logname').AsString:='abc';  
ADOTable1.Post;
end;

pozdrawiam melu

0

Też nie działa, ten sam błąd.

A jesli chodzi o skladnię to z tego co wiem pola można opisywac na kilka sposobów. Zarówno Twój jak i mój jest poprawny.

Podejrzewam, że może ADO Provider który mam zainstalowany nie obsługuje Edycji tabel. Zainstaowałem darmowy LCPI.IBProvider.

Czy ktoś może mi wskazać inny bezpłatny ADO Provider który mógłbym wypróbować?

0

zostaw *Table i zajmij się *Query i SQLem. Zepewne ADOTable jest jednokierunkowy i nie można go edytować

0

TOuery i SQL tez próbowałem zastosować i również wywala mi ten sam błąd - Field cannot be modified.
Zapewne nie poruszałbym więcej tego tematu, ale powiem Ci że na próbe wybrałem innego ADO Provider-a tzn:Microsoft.Jet.OLEDB.4.0 DB oraz chwilowo podmieniłem baze ma Accessową i o dziwo !! ta sama Table działa poprawnie ??? I edytować można we wszystkie strony.
Z drugiej strony ADO to rzeczywiście fajna rzecz :) Masz dostęp do wielu baz.

Myślę, że to jednak wina provider-a.

Ale co mam zrobić skoro ja uparłem się na FireBird? Jakiego providera wybrać?
Skąd ściągnąć providera za którego na razie nie musiałbym płacić?

0

No pewnie, że Firebird i ADO nie współgrają.
Ja używam komponentów InterBase, ale i tak mam wiele kłopotów - np: nie mogę zrobić żadnego posta. Czyli wszystkie zmiany w bazie muszę wykonywać SQLem.

0
Juhas napisał(a)

No pewnie, że Firebird i ADO nie współgrają.

Co ty nie powiesz

Ja używam komponentów InterBase, ale i tak mam wiele kłopotów

to, że Ty masz wiele kłopotów nie oznacza, że to komponenty czy też środowisko jest złe...

nie mogę zrobić żadnego posta. Czyli wszystkie zmiany w bazie muszę wykonywać SQLem.

pomijając taki drobny fakt, że TIBTable zostało tylko w celach zgodności i nie jest wskazane kozystanie z niego to jednak wszystko w nim działa OK

jarek265 napisał(a)

TOuery i SQL tez próbowałem zastosować i również wywala mi ten sam błąd - Field cannot be modified.

może daj jakiś kod

Myślę, że to jednak wina provider-a.

a ściągnąłeś te sterowniki, które podałem wyżej??

Ale co mam zrobić skoro ja uparłem się na FireBird? Jakiego providera wybrać?
Skąd ściągnąć providera za którego na razie nie musiałbym płacić?

nic - pozostac przy nim

BTW właśnie spróbowałem i bez ŻADNEGO kłopotu podpiąłem się przez ADO do mojego serwera na linuxie przy pomocy sterowników ODBC, które już wyżej podawałem. Następnie zrobiłem prosty update

UPDATE users SET data = :data WHERE data IS NULL

i wszystko działa OK

0

Drodzy Panowie,

Juhas napisał(a)

No pewnie, że Firebird i ADO nie współgrają.

Jak to nie działają jak mpoja aplikacja działa?

Juhas napisał(a)

Ja używam komponentów InterBase, ale i tak mam wiele kłopotów

Misiekd napisał(a)

to, że Ty masz wiele kłopotów nie oznacza, że to komponenty czy też środowisko jest złe....

Też tak sądzę, jak mi coś nie działa to pierwsze co mi przychodzi na myśl to to że tego nie umiem zastosować.

Myślę, że to jednak wina provider-a.

Misiekd napisał(a)

a ściągnąłeś te sterowniki, które podałem wyżej??

Te sterowniki to ODBC a ja potrzebuje ADO Providera. Ściagałem je kiedyś ale wróciłem do technologii ADO. A jesli chodzi o tego mojego nieszczęsnego providera to okazuje sie że to była jednak wina własnie tego providera, bo miałem zainstaowany Free IBProvider z www.ibprovider.com. Napisałem u nich na forum i od razu mi admin potwierdził że wersja free nie obsługuje edycji rekordów. Ponadto uprzejmie mi zaproponowali wersję Time-limited Commercial version i ... wszystko już działa :)

Mam jeszcze jedno pytanie. Ponieważ uważam się za poczatkującego programistę baz danych zadałem kiedys na tutejszym formu pytanie na które mi nikt nie odpowiedział. Czy moglibyście jeszcze raz na to popatrzeć - http://4programmers.net/Forum/viewtopic.php?id=98701
</quote></quote></quote>

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