przypisywanie tekstu z TDBEdit do bazy

przypisywanie tekstu z TDBEdit do bazy
0

Mam w bazie tabele "sprzet" i dwa pola "id_sprzet" i "nazwa". Do pola "id_sprzet" uzyje generatora w TIBDataSet a do pola "nazwa" chcialbym przypisac tekst z pola TDBEdit. Jak zrobic aby po kliknieciu buttona sie to wpisalo?

Pozdrawiam

berl
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 10 lat
0

Są przecież przykłady w Delphi\Demos.


Słowa kierownika : To, jak wy zdążycie to napisać, to ja mam w szeroko rozumianej du*ie.
http://project1.pl
0

No tak znalazlem i zrobilem cos takiego

(InsertSprzet to zmienna programu)

    DataModule1.IBDSsprzet.SelectSQL.Text :=  'select ' + InsertSprzet +
    ' from sprzet;';

I Select dziala ale ponizej insert juz nie dziala. Bo w nawiasach trzeba uzyc apostrofow tylko za nic nie umiem tego zrobic same apostrofy nic daja bo wyskakuje blad.

    DataModule1.IBDSsprzet.InsertSQL.Text := 'INSERT INTO nazwa' +
    'VALUES (' + InsertSprzet + ');';

Jak to rozwiazac?

0

Zmienna ma być w cudzysłowie użyj funkcji QuotedStr.

0

Wlasnie ze nie. Wlasnie sprawdzalem w konsoli Firebirda i tam jak sie uzyje cudzyslowow to wyskoczy blad, a jak apostrofow to dobrze jest.

tylko ze wdarla sie mala pomylka bo nie bylo sprzet(nazwa) na poczatku ale nadal nie dziala

    DataModule1.IBDSsprzet.InsertSQL.Text := 'INSERT INTO sprzet(nazwa)' +
    'VALUES (' + InsertSprzet + ');';
KA
  • Rejestracja:około 22 lata
  • Ostatnio:ponad 4 lata
  • Postów:137
0

A spróbuj przed VALUES wstawić spację ...


Kris
0

No tak przegapilem blad ale i tak nie pomoglo niestety.

0

Jak nie ma na to odpowiedzi to moze w innym sposob to zrobic np.
w TDBEdit1 mam pewna liczbe i jest ona z tabeli pobrana i chce ja przypisac do drugiego TDBEdit2 i mam w onClick na DBNavigator .
DbEdit1.Field.Text := DBEdit2.Field.Text;

i wtedy wyskakuje blad "not in edit mode".

Czemu?

G2
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 14 lat
  • Postów:77
0

A nie lepiej używać DBNavigator i bezposredio wpisywać do bazy???


"...tylko dwie rzeczy są nieskonczone, wszechświat i ludzka głupota, lecz co do tej pierwszej nie mam pewności..."
0
Tomasz napisał(a)

No tak znalazlem i zrobilem cos takiego

(InsertSprzet to zmienna programu)

    DataModule1.IBDSsprzet.SelectSQL.Text :=  'select ' + InsertSprzet +
    ' from sprzet;';

I Select dziala ale ponizej insert juz nie dziala. Bo w nawiasach trzeba uzyc apostrofow tylko za nic nie umiem tego zrobic same apostrofy nic daja bo wyskakuje blad.

    DataModule1.IBDSsprzet.InsertSQL.Text := 'INSERT INTO nazwa' +
    'VALUES (' + InsertSprzet + ');';

Jak to rozwiazac?

0
Tomasz napisał(a)

No tak znalazlem i zrobilem cos takiego

(InsertSprzet to zmienna programu)

    DataModule1.IBDSsprzet.SelectSQL.Text :=  'select ' + InsertSprzet +
    ' from sprzet;';

I Select dziala ale ponizej insert juz nie dziala. Bo w nawiasach trzeba uzyc apostrofow tylko za nic nie umiem tego zrobic same apostrofy nic daja bo wyskakuje blad.

    DataModule1.IBDSsprzet.InsertSQL.Text := 'INSERT INTO nazwa' +
    'VALUES (' + InsertSprzet + ');';

Jak to rozwiazac?

Misiekd
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 12 lat
  • Postów:7923
0
Tomasz napisał(a)

Mam w bazie tabele "sprzet" i dwa pola "id_sprzet" i "nazwa". Do pola "id_sprzet" uzyje generatora w TIBDataSet a do pola "nazwa" chcialbym przypisac tekst z pola TDBEdit. Jak zrobic aby po kliknieciu buttona sie to wpisalo?

Pozdrawiam

pole autoinc definiuje się w bazie - tworzysz generator + wyzwalacz, który wpisuje odpowiednią wartość do pola ID
zamiast IBDataSet użyj IBQuery

Kopiuj
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('INSERT INTO sprzet (nazwa) VALUES (:nazwa)');
IBQuery1.ParamByName('nazwa').AsString := InsertSprzet;
IBQuery1.ExecSQL;
// tu jeszcze wypadało by zatwierdzić transakcję

- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.