Jeg har en database med en kunde tabel, i tabellen er der et et nummer felt, som bliver brugt til id_nummer, dette felt er et autoinc felt, således at enhver ny kunde bliver tildelt et fortløbende id_nummer.
Problemmet er nu at hvis man editere en post via updatesql, bliver posten tildelt et nyt id_nummer, det virker som om at updatesql sletter den gamle post og opretter en ny post med tilrettet data.
Det virker ret underligt. Har jeg ret i at UpdateSql er en rutine du selv har skrevet? Så kunne det være godt at se koden.
Jeg bruger selv en stored procedure som håndterer det på følgende måde: Hvis den primære nøgle er 0 så indsætter den recorden og returnerer det nye ID, ellers opdaterer den. Må antage at det er noget lignende du har gang i.
I MS-SQL skal du bruge "identity" til at sikre at der tildeles nye ID'er:
.. ( ID int identity(1,1) not null, .., primary key (ID) )
Nååe den - nu har jeg læst hjælpen om den. Det ser da smart ud. Hvordan ser dine insert og update scripts ud? Er der noget der kan få din tabel til at opføre sig sådan? Hvordan ser din tabeldefinition egentlig ud? Du kan jo sagtens have et unikt id som ikke er defineret som primærnøgle.
P.S. Du er på vej væk fra en Paradox-platform til en MS-SQL, ikke?
Har nu ændret tabellen, således at kun nummer er primær nøgle, og så virker det så sandelig.
Jeg har et lille værktøj fra MyDac der kan omskrive alle mine BDE komponenter til MySQL. Kender du noget til program, jeg har selv lidt tvivl til et program der kan omskrive kode.
Næ. Det program er nyt for mig. Det er nu ikke så svært at portere fra paradox til MySql eller MS-SQL, bare det er fra Paradox'sk SQL til en af de andre varianter. På med en TADOQuery og kopiér scriptene over, hvorefter TQuery kan slettes. Skal du være sikker på at det virker, så må du læse SQL-92 standarden og ikke gå ud over det (men så mister du vist autoincrementerende felter - og det er skidt).
I øvrigt så er der vist kun prisen der taler for at du vælger MySql. MS-SQL har overrasket mig meget positivt på det seneste.
Prøv i øvrigt at hente GExperts hjem. Det er en slags add-on til Delphi og der er bl.a. en "erstat kompoent med en anden komponent"-funktion. Det er en af de bedste gratis udvidelser til Delphi - kan klart anbefales.
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.