12. september 2000 - 11:06Der er
3 kommentarer og 2 løsninger
Sql
Hey
Har lige 2 problem :)
with form1.Query1 do begin close; SQL.Clear; SQL.Add(\'Update Kunder\'); SQL.Add(\'Set navn = :navn\'); Params[0].AsString := Form5.Edit1.Text; //Navn SQL.Add(\'Where kundenr = \'+#39+form1.rxdbgrid1.selectedfield.AsString+#39); ExecSQL; end;
Men der er også andre felter som skal opdateres. Adresse, postnummer osv hvordan får jeg dem opdateret på samme tid
Der er også et felt som heder kundenr som skal stige en hver gang jeg til føjer en ny men hvordanfår jeg den til det jeg har et id felt så jeg kan ikke bruge en autu numb ting til det :( tror det skal være noget i stil med at den læser den sidste posts kundenr og lægger en til men hvordan ??
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
update \"tablename\" set \"columnname\" = \"newvalue\"[,\"nextcolumn\" = \"newvalue2\"...] where \"columnname\" OPERATOR \"value\" [and|or \"column\" OPERATOR \"value\"]; [] = optional OPERATOR = =, >, < etc.
Dvs. i dit eksempel:
Update Kunder Set Navn = :Navn, Adresse = :Adresse, etc etc. Where KundeNr = \"12345\"
2. problem:
Med SQL udtrykket:
Select MAX(KundeNr) From Kunder
kan du finde det højeste benyttede kundenr. Læg 1 til dette tal og brug resultatet som næste kundenr. Der er dog et muligt problem her. Antag at du har en Kunde med nr. 10 og dette nr. er det øjeblikkelige højeste nr. Til denne kunde er der i andre tabeller, fx. ORDRE, tilknyttet nogle poster. Hvis du nu sletter kunden i KUNDE tabellen, men ikke de relaterende poster i ORDRE tabellen (groft brud på den relationelle DB tankegang), så vil du når du opretter en ny kunde komme til at genbruge kunde nr. 10 og allerede på dette tidspunnkt vil denne nye kunde have tilhørende poster i ORDRE tabellen (altså dem fra den gamle kunde). Dette problem kan du dels løse ved at overholde referentiel integritet for din database og dels kan du sørge for at have en særlig tabel, hvori du som eneste post gemmer senest benyttede kundenr ved oprettelse af ny kunde. Ved næste oprettelse af en kunde læser du dette nr., lægger en til tallet, gemmer resultat i tabellen. Resultatet bruges også som det nye kunde nr. i KUNDE tabellen.
Lige et tip til nummer-tabelen, det kan være en god ide at læse nummeret og skrive det næste nummer med det samme inden du går vidre med at oprette den ny rec. så undgår du at der er to der opretter en ny rec. med samme nye nummer
Eks.:
SQL.Text := \'Update NummerDB SET LastSUN = LastSUN + 1\';
ExecSQL;
SQL.Text := \'SELECT LastSUN-1 as NySUN FROM NummerDB\';
Del du bare løs, du må for min skyld gerne give dem alle til MArtin. Jeg er her ikke for at samle point, men jeg er dog begænset tidssmæssigt.
Delhi
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.