ďťż
 
Insert do bazy. ďťż
 
Insert do bazy.
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Insert do bazy.



Maciej - 14-12-2006 16:09
Insert do bazy.
  Witam wszystkich

Baza MySQL
Komponenty ZEOS (TQuery, TUpdateSQL)
Za pomoc? query wykonuje zapytanie, które nie jest typu LIVE, a nastepnie za
pomoc?
Update robie Insert do bazy i wszystko jest ok.

Wszystko wygl?da tak:
(DS1:= TQuery)

DS1.Insert;
DS1.FieldByName('p1').AsString:='cos1';
DS1.FieldByName('p2').AsString:='cos1';
DS1.FieldByName('p3').AsInteger:= 1;
DS1.FieldByName('p4').AsInteger:= 1;
DS1.FieldByName('p5').AsInteger:= 1;
DS1.FieldByName('p6').AsInteger:= 1;
DS1.FieldByName('p7').AsInteger:= 1;
DS1.FieldByName('p8').AsInteger:= 1;
DS1.FieldByName('p9').AsInteger:= 1;
ZUpdateSQL1.InsertSQL.Text:=('Insert Into Tab1 (idNagl,IdElementu,'+
'Ilosc,SzerOd,SzerDo,WysOd,WysDo) values ('+
':p3, :p4, :p5, :p6, :p7, :p8, :p9);');
DS1.Post;

Teraz pytanie:
W jakie sposób pobra? nr id z "Tab1" i wstawi? go do tego Query?
Wiem ?e jest Last_Insert_Id() tylko nie wiem jak tego u?y?.

Pozdrawiam.
Maciej.





Wojtek pBT (prac) - 14-12-2006 16:09

  Maciej napisa?(a):
> Witam wszystkich
>
> Baza MySQL
> Komponenty ZEOS (TQuery, TUpdateSQL)
> Za pomoc? query wykonuje zapytanie, które nie jest typu LIVE, a nastepnie za
> pomoc?
> Update robie Insert do bazy i wszystko jest ok.
>
> Wszystko wygl?da tak:
> (DS1:= TQuery)
>
> DS1.Insert;
> DS1.FieldByName('p1').AsString:='cos1';
> DS1.FieldByName('p2').AsString:='cos1';
> DS1.FieldByName('p3').AsInteger:= 1;
> DS1.FieldByName('p4').AsInteger:= 1;
> DS1.FieldByName('p5').AsInteger:= 1;
> DS1.FieldByName('p6').AsInteger:= 1;
> DS1.FieldByName('p7').AsInteger:= 1;
> DS1.FieldByName('p8').AsInteger:= 1;
> DS1.FieldByName('p9').AsInteger:= 1;
> ZUpdateSQL1.InsertSQL.Text:=('Insert Into Tab1 (idNagl,IdElementu,'+
> 'Ilosc,SzerOd,SzerDo,WysOd,WysDo) values ('+
> ':p3, :p4, :p5, :p6, :p7, :p8, :p9);');
> DS1.Post;
>
> Teraz pytanie:
> W jakie sposób pobra? nr id z "Tab1" i wstawi? go do tego Query?
> Wiem ?e jest Last_Insert_Id() tylko nie wiem jak tego u?y?.

Je?eli w definicji tabeli dla klucza g?ównego masz auto_increment to abo
przy INSERCIE pomi? t? kolumn?, albo podaj NULL'a MySQL sam wygeneruje
kolejn? warto??

pBT




Maciej - 14-12-2006 16:09

 
>Je?eli w definicji tabeli dla klucza g?ównego masz auto_increment to abo
>przy INSERCIE pomi? t? kolumn?, albo podaj NULL'a MySQL sam wygeneruje
>kolejn? warto??

Tak, wiem, tylko ja t? warto?? potrzebuje wstawi? do tabeli Query,
np po to, jak zaraz po insercie u?ytkownik b?dzie chcia? usun?? dany rekord,
b?dzie mi potrzebna ta dana, a nie chcia? bym od?wierza? ca?ego zapytania.

Jak zapytanie jest typu LIVE i po?a?? sobie monitorSQL to w logach wida?
?e ta warto?? pobierana jest przez Last_Insert_Id().
Tylko nie wiem jak to zrobi? r?cznie.

pBT




Wojtek pBT (prac) - 14-12-2006 16:09

  Maciej napisa?(a):
>> Je?eli w definicji tabeli dla klucza g?ównego masz auto_increment to abo
>> przy INSERCIE pomi? t? kolumn?, albo podaj NULL'a MySQL sam wygeneruje
>> kolejn? warto??
>
> Tak, wiem, tylko ja t? warto?? potrzebuje wstawi? do tabeli Query,
> np po to, jak zaraz po insercie u?ytkownik b?dzie chcia? usun??dany rekord,
> b?dzie mi potrzebna ta dana, a nie chcia? bym od?wierza? ca?ego zapytania.
>
> Jak zapytanie jest typu LIVE i po?a?? sobie monitorSQL to w logach wida?
> ?e ta warto?? pobierana jest przez Last_Insert_Id().
> Tylko nie wiem jak to zrobi? r?cznie.

nie chce mi si? jeszcze raz analizowa? problemu...

LAST_INSERT_ID() zwraca ostatni wygenerowany auto-increment dla sesji.
Tak wi?c:

INSERT INTO tab VALUES(NULL,'aa');
UPDATE tab2 SET ostatniID = LAST_INSERT_ID() WHERE user = $user

pBT
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    =?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?= Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8 =?iso-8859-2?Q?=5BSQL_Server_2000=5D_uprawnienienia_do_u=BFyw ania_widoku_?==?iso-8859-2?Q?opartego_na_tabeli_z_innej_bazy?= Dwie bazy czy dwie tabele? [PHP i MySQL] Wstawianie =?ISO-8859-2?Q?rekord=F3w_do_bazy_?==?ISO-8859-2?Q?a_z=B3e_kodowanie?= =?ISO-8859-2?Q?=5Bmysql=5D_synchronizacja_struktury_bazy_?==? ISO-8859-2?Q?lokalnej_ze_zdaln=B1?= [Oracle] Co do tworzenia aplikacji dla bazy Oracle narzedzie do transferu bazy mysql - mysql narzedzie do transferu bazy odbc - odbc Połączenie bazy danych z wykonaniem polaczenia telefonicznego
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • numervin.keep.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com