Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Bazy danych + Borland Builder C++

11 Gru 2006 17:33 4576 5
  • Poziom 1  
    Mam problem z wpisywaniem rekordow do Sql'owej bazy danych w Borland Builderze C++ (wer 6.0). Mianowicie do polaczenia sie z baza sql'owa uzywam komponentow SQLConnection, SQLTable (to jest z palety dbExpress) oraz DataSource, ClientDataSet oraz DataSetProvider ( z palety Data Access). Polaczenie dziala, rekordy bez problemu wyswietlaja sie w Grid'zie (z palety Data Control). Schody zaczynaja sie gdy cche wpisac jakis rekord ze zmniennej zdefiniowanej w programie. Jedyny sposob jaki znam na dodanie rekordu to przy pomocy dbNavigatora(Data Control), ale tam mozna tylko recznie wpisywac rekordy, nie da sie nic skopiowac ze zmiennej (przynajmniej tyle ja tylko umiem).

    Bylbym wdzieczny za jakiekolwiek wskazowki, a najlepiej za instrukcje w jaki sposob mozna korzystac w Builderze(C++) z kodu sqlowego. Tak byloby najlatwiej. Ewentualnie jak wykorzystac jakies inne komponenty aby zapiosywac rekordy do bazy z poziomu kodu(ze zmiennych zdefiniowanych w programie).

    Dzieki za wszelka pomoc, Pozdro

    Moderowany przez jankolo:

    Przeniosłem z Komputery Software

  • Poziom 10  
    przyłączam się do pytania
  • Poziom 12  
    Ja używam ADO i w nim wygląda to tak;
    Code:

            ADOQuery->Close();
            ADOQuery->SQL->Clear();
            ADOQuery->SQL->Add("SELECT * FROM Klienci");
            ADOQuery->ExecSQL();
            ADOQuery->Open();
  • Poziom 10  
    Witam pisze w BCB proram z wykorzystaniem bazy danych i o ile z instukcja select wszystko dziala jak powinno

    Query1->Close();
    Query1->SQL->Clear();

    AnsiString s;
    s.cat_sprintf("select * from baza_danych.DB where rok = '%d' ", y);
    Query1->SQL->Add(s);
    Query1->Open();

    O tyle nie potrafię skorzystać z funkcji do ktorych z tego co mi wiadomo jest przeznaczony UpdateSQL Chodzi mi tylko o to by dane w jednej klumnie wykonywaly prosta fukcje matematyczna np dane z innej kolumny * 2
    W tym celu w zakladce ModifySQL wpisalem
    UPDATE "baza_danych.DB" SET Wynagrodzenie=Nadgodziny*2
    i co ciekawe przez moment mi to dzialalo nie wiem czy zmienilem jakas opcje czy co sie stalo ze przestalo dzialac trzeci dzien szukam przyczyny

    Przeszukałem chyba cały internet, czytalem o funkcjach
    Query1->ApplyUpdates();
    Query1->CommitUpdates();

    niestety bez efektu
    Z góry dziekuje za pomoc
  • Poziom 10  
    Niestety nie udało mi się poruszyć tematu do przodu, co trzeba wybrac by BCB wogole wykonał to co ma zawarte w UpdateSQL bo wyraznie widze ze co bym tam nie wpisał błędu nie zwróci !!Mam wybrane w Query1 UpdadeSQL1 CachedUpdates true a efektow brak