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.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
=?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.pldoc.pisz.plpdf.pisz.plnumervin.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 |
|