21. maj 2006 - 15:48Der er
8 kommentarer og 1 løsning
Findes et felt i tabellen
Jeg har brug for en funktion der med garanti kan fortælle om et felt eksisterer i en tabel. Det lyder simpelt og det er det sikkert også, men alle de metoder jeg har fundet indtil videre fejler hvis der ikke er nogen records i den tabel man vil checke. Hvis der bare er 1 record, så fungerer de alle fint.
Nu skriver du ikke i hvilken sammenhæng du skal bruge funktionen. Denne opretter en ny tabel, og hvis den findes i forvejen får du en fejl. Du skal så blot iond i en errorhandler:
Det er afhængigt af databasen hvordan man tilgår dens metainformation, som det hedder. I nogle databaser kan man sige describe <tabel navn>; hvorved man bla. får en liste af attributter for tabellen. I MS SQL server kan man bruge en speciel database: SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS Hilsen Jesper
Som sagt kan jeg ikke rigtig bruge metoden med at oprette en tabel. Det vil give en masse overhead i datafilen efter en opdatering og det kan give problemer hvis man ikke sørger for at compacte med det samme. Jeg skal bruge funktionen i forbindelse med at jeg har en applikation som kører hos nogle mennesker som jeg jævnligt laver opdateringer til. Hvis jeg laver nye felter vil de være at finde i en tabel som jeg opretter inden jeg releaser. Når den nye version så bliver installeret hos brugeren, kører de en funktion der looper tabellen og checker at alle felter findes i deres backend. I øjeblikket består tabellerne i backenden af godt 500 felter, så hvis jeg skal forsøge at oprette en tabel over 500 gange, tror jeg det vil give problemer. Derfor vil jeg gerne finde en anden indgangsvinkel.
jesper2009> jeg kan godt huske at der er den funktion på SQL'en, men jeg har ikke kunnet finde noget i Access der ligner. På SQL server gjorde jeg det at alle ændringer i tabellerne blev lavet via EnterpriseManageren og gemt som SQL statements. Dem kan man så få f.eks. Installshield til at fyre af op mod serveren når man installerer en ny version af applikationen.
Ikke noget helt perfekt så jeg lukker inden nytår.
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.