Avatar billede ladefoged Nybegynder
03. juni 2009 - 09:56 Der er 3 kommentarer og
1 løsning

Find næste rownumber

Hej jeg er ved at lave et lille program som kan tilføje en linje i en af databaserne til C5, det eneste problem jeg er støt ind i er at jeg ikke kan få fat i det næste rownumber.

For mig ser det ud som om at rownumber er unikt igennem alle C5's databaser.

Er der nogen måde jeg kan få fat i det næste rownumber via C# .NET

P.s. Vi køre vores C5 på en sql server.
Avatar billede Slettet bruger
03. juni 2009 - 18:39 #1
Nej, ikke mig bekendt.

Rownumber på SQL er unik på kryds af tabeller - men der er faktisk ikke nogen steder i koden at det forventes at rownumber er unik. Alle steder bruges kombinationen FileId (C5 egen nummerering af tabeller) og Rownumber (RecId) som unik reference.

Så hvis du f.eks. kun skal indsætte poster i nye tabeller, er der faktisk ikke noget i vejen for at du starter med Rownumer = 1.

På eksisterende tabeller vil du have et problem med at sikre dig at det rownumber du tildeler ikke har været brugt før.
Avatar billede ladefoged Nybegynder
04. juni 2009 - 08:43 #2
Mange tak for dit svar.

Det er godt nok i en eksisterende tabel jeg skal have tilføjet, dog er det ikke en tabel C5 er født med, men en vores IT konsulent har sat ind i forbindelse med en tilretning.

Men så vidt jeg kan regne ud fra det du siger så kan jeg godt starte mine tilføjelser med Rownumer = 1 da det højeste nuværende Rownumber er 1266973 og det mindste er 1264654 på den tabel jeg skal arbejde med, så vil jeg jo skulle indsætte over 1264653 rækker før det bliver et problem.

Hvilket jo egentlig ikke er en holdbar løsning, da det vil ske at de to Rownumber vil rende sammen på et eller andet tidspunkt.

Jeg går lige i tænkeboks :)
Avatar billede up2nogood Nybegynder
05. juni 2009 - 11:32 #3
Hejsa,

Der ligger en stored procedure. Spørgsmålet har lige været oppe på microsofts C5 forum: microsoft.public.dk.c5

Her er et svar sakset derfra:

Den stored procedure der bruges til at danne RecID med hedder "sp_xal_seqno"
og findes følgende sted:

Du går i Microsoft SQL Server Management Studio.
Her finder du den database som C5 bruger.

Her vælger du: "Programmabillity" og så "Stored Procedures"

Så skulle den gerne ligge der.
Avatar billede ladefoged Nybegynder
08. juni 2009 - 11:14 #4
@up2nogood || #3

Mange tak for din kommentar, jeg vil prøve det med det samme.

Det burde jo egentlig være dig der havde fået point da du svarede bedre på mit spørgsmål end rahp, men kan man hvis ikke lave op på nu, så vidt jeg kan se.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester