Avatar billede pnt71 Nybegynder
21. januar 2002 - 20:10 Der er 9 kommentarer og
1 løsning

Kan man tjekke om en tabel eksisterer??

Hej

Endnu engang er jeg lidt i tvivl om dette er det rette forum at poste i, men nu prøver jeg... (måske er det SQL i stedet for ASP?!?)

Kan det lade sig gøre at tjekke om en bestemt tabel i en database er oprettet?
Jeg opretter en midlertidig tabel, og sletter den igen efter endt brug. Men skulle der opstå en fejl på siden, og tabellen ikke bliver slettet, forstyrrer den sidens forløb senere. Derfor vil jeg gerne kunne tjekke om en bestemt tabel er oprettet, og i givet fald slette den inden, jeg sætter procedurerne igang.

Tak for svar!

/Per

Jeg opretter en midlertidig tabel og dropper den igen
Avatar billede entracore Nybegynder
21. januar 2002 - 20:23 #1
Syntaxen er:

If Exists (Select * From Sysobjects Where ID = Object_ID(N\'[Table_Name]\') And Objectproperty(ID, N\'IsUserTable\') = 1)
Drop Table [Table_Name]

Jeg ved ikke om du kan bruge dette.
Avatar billede entracore Nybegynder
21. januar 2002 - 20:24 #2
Det er så hvis det er en tabel i en MS SQL database.
Avatar billede pnt71 Nybegynder
21. januar 2002 - 21:48 #3
Hej

Tak for svaret.
Det skal lige siges, at jeg er ret ny i det her, så du må gerne uddybe det lidt.
Jeg har skrevet resten af siden i Javascript/ASP - hvordan skal jeg implementere det?
Skal det skrives i javascript eller er det en sql-streng, der skal kaldes - eller sikkert noget helt tredje!!!
Håber på svar!

/Per

Avatar billede entracore Nybegynder
21. januar 2002 - 22:11 #4
<%
    SqlQ = \"Select * From Sysobjects Where ID = Object_ID(N\'[Table_Name]\') And Objectproperty(ID, N\'IsUserTable\') = 1\"
    Set rSqlQ = DinConnection(SqlQ)
    If Not rSqlQ.Eof
        Drop Table [Table_Name]
    End If
%>

Table_Name = den tabel du vil slette.

Spørg igen hvis det ikke virker, fordi jeg har heller aldrig kørt den sætning i ASP - så måske opstår der en syntax fejl :-)
Avatar billede pnt71 Nybegynder
21. januar 2002 - 22:44 #5
Den melder faktisk fejl i sql-strengen:
Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e14\'

[Microsoft][ODBC Microsoft Access-driver] Syntax error (missing operator) in query expression \'ID=Object_ID(N\'[forummidl]\') And Objectproperty(ID, N\'IsUserTable\') = 1\'.

Der melder den en fejl i forbindelse med WHERE-delen, og jeg må sige - jeg er jo helt på bar bund - jeg ved slet ikke hvad der sker og burde ske, så du behøver ikke bruge oceaner af tid på det. Men har du ideer til, hvordan jeg kommer videre i det, så kom endelig med dem. Evt. et sted hvor jeg selv kan studere det, hvis du kender et godt sted (gerne dansk, men også ok engelsk) :-)

/Per
Avatar billede entracore Nybegynder
21. januar 2002 - 23:16 #6
Hvis det kan vente til i morgen så vil jeg gerne prøve at se om jeg kan finde en løsning til dig.

Er det ok ?
Avatar billede pnt71 Nybegynder
21. januar 2002 - 23:20 #7
Helt fint!
Avatar billede marit Nybegynder
22. januar 2002 - 15:12 #8
Se evt. http://195.184.98.141/spm/160261
Her listes tabelnavne ud for en database, så kan du se om din tabel er der eller ej.
Avatar billede pnt71 Nybegynder
29. januar 2002 - 18:46 #9
Hej marit
Det var gennem dit svar, at jeg fandt ud af at få det til at virke, men da du kun har afgivet en kommentar kan jeg ikke give dig point. Afgiv lige et svar, så jeg kan tildele point til dig. Tak for hjælpen.

/Per
Avatar billede pnt71 Nybegynder
13. februar 2002 - 17:26 #10
Entrecore - du får lige nogle dejlige point som tak for din hjælp for lang tid siden.
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