Avatar billede vanggaard Nybegynder
13. september 1999 - 13:38 Der er 8 kommentarer og
1 løsning

Tabel i Database

Hej
Hvordan tjekker man om der i en database er en tabel med et givet navn, sådan at man ikke begynder at åbne en tabel som ikke findes !!!

Hilsen
Mads
Avatar billede boomer Nybegynder
13. september 1999 - 14:03 #1
Åbner databasen i f.eks. Access hvis det er en .mdb fil, og ser så hvilke tabeller der er.
Avatar billede sone Nybegynder
13. september 1999 - 14:05 #2
Hvis der ikke er tale om en Access-fil, så bruger man en SQL-Explorer (f.eks. Cute DB explorer - http://www.allegro-soft.com/)
Avatar billede ziber Nybegynder
13. september 1999 - 14:29 #3
hvis, som jeg forventer det er , er tale om at det skal gøres via ren kode, altså inden du indsætter data, tjekker om der findes en sådan tabel som du kan indsætte i.

Så kan du istedet for at tjekke om der er en sådan tabel, lave en errorhandling, sådan at hvis den ikke findes, gør din kode noget anet, f.eks kommer med en besked om det, eller lignende...

http://msdn.microsoft.com/library/devprods/vs6/vbasic/vbcon98/vbconcentralizederrorhandling.htm

http://msdn.microsoft.com/library/officedev/odeopg/deconerrorhandlingdebugging.htm

Ellers søg på www.microsoft.com eller gå i deres biblioteker

Avatar billede jorgetu Nybegynder
13. september 1999 - 19:12 #4
Det kommer an på hvilken database du kører med.

Hvis det fx. er Oracle har den et view der indeholder alle brugeroprettede tabeller.

Her laver du sql ala:

select table_name from all_tables where table_name = 'MinKundeTabel';

MS Sqlserver har en tilsvarende, men jeg kan ikke huske hvad den hedder.

Avatar billede vanggaard Nybegynder
16. september 1999 - 12:36 #5
Problemmet er sådan her:
Jeg har en masse tabeller i en access db, så har jeg lavet noget asp sådan at en bruger kan skrive navnet på en tabel og den vil så blive vist i browseren, men hvis nu brugeren skriver et navn, men at der ikke er en tabel med det navn, så kommer serveren ud med noget meget lidt brugervenligt. Det jeg så gerne vil er at før jeg prøver at åbne tabellen så jeg om den findes og hvis den gøre åben den og hvis den ikke findes så vil jeg srive en fin lille besked til brugeren.
Håber I nu er med på hvad jeg vil !

Hilsen  Mads
Avatar billede sone Nybegynder
16. september 1999 - 13:59 #6
Du kan jo prøve med brugerens tabelnavn, men gradere din med at sætte ON ERROR RESUME NEXT uden om, og checke err-objektet.
Avatar billede vanggaard Nybegynder
16. september 1999 - 13:59 #7
Jeg har nu selv fundet løsningen på mit problem, hvis I er interesseret så kommer svaret her:
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=database.mdb; UID='Administrator';PWD=;"



strSQL = "SELECT Name FROM MSysObjects WHERE (Type=1 AND Flags=0)"
Set rs = myConn.Execute(strSQL)


Så skal jeg jo bare tjekke om min tabel er i rs.

Hilsen Mads
Avatar billede zneo Nybegynder
28. september 1999 - 16:11 #8
Brug lidt tid på her, så finder du ud af det.

http://www.asp101.com/samples/viewasp.asp?file=db%5Fdsn%2Easp
Avatar billede vanggaard Nybegynder
20. november 1999 - 20:09 #9
Ups glemte vist at lukke dette spørgsmål.

Hilsen
Mads
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
Kurser inden for grundlæggende programmering

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