Avatar billede nightowl24 Nybegynder
05. oktober 2004 - 14:34 Der er 14 kommentarer og
1 løsning

Opret tabel fra ASP-kode

Hejsa

Jeg benytter nedenstående sql-sætning til at indsætte en tabel i en eksisterende database:

sql = "CREATE TABLE Admin (Admin_ID number primary key DEFAULT 1, Sidste_nyt_tekst NOTE DEFAULT test, Sidste_nyt_dato varchar(100) DEFAULT 30-09-04, Next_Arr_Tekst NOTE DEFAULT test)"

men der er noget der går galt. Hvis jeg efterfølgende åbner tabellen kan jeg ikke tilføje flere poster til den, hvad gør jeg forkert?

/Nightowl
Avatar billede ldanielsen Nybegynder
05. oktober 2004 - 17:10 #1
Bliver tabellen oprettet korrekt?
Avatar billede nightowl24 Nybegynder
06. oktober 2004 - 08:08 #2
Ja, tilsyneladende gør den, men der mangler et eller andet. Når jeg har oprettet tabellen, forsøger jeg at tilgå den fra en anden asp-side med en (SELECT *), hvilket resulterer i en eof fejl.
Avatar billede ldanielsen Nybegynder
06. oktober 2004 - 15:46 #3
Hvis den melder eof betyder det jo at du har åbnet et tomt recordset. Du skal jo fylde data i tabellen før det giver nogen mening at selecte fra den.
Avatar billede nightowl24 Nybegynder
06. oktober 2004 - 18:53 #4
Hvis du kigger på min kode kan du se at jeg fylder nogle default værdier i den :)
Avatar billede nightowl24 Nybegynder
07. oktober 2004 - 19:21 #5
Det er lidt underligt, nu har jeg prøvet at oprette tabellen uden standardværdier, hvor jeg går ind og tilføjer nogle manuelt, dette virker fint...
Avatar billede ldanielsen Nybegynder
08. oktober 2004 - 11:05 #6
i ovenstående kode opretter du ikke nogen poster i tabellen. Den vil være tom.

De default værdier du angiver er en del af kolonnedefinitionerne, og vil blive brugt når du opretter poster.

Behold du bare ovenstående kode, og lad os i stedet finde fejlen i den side der giver eof fejlen
Avatar billede nightowl24 Nybegynder
08. oktober 2004 - 12:15 #7
Nu har jeg løst det på en anden måde, men jeg undre mig stadig over at tabellen jeg opretter ikke kan tilføjes nye poster manuelt, der må være et eller andet forkert i den sql-sætning.
Avatar billede ldanielsen Nybegynder
08. oktober 2004 - 15:23 #8
Siger du at tabellen ikke kan tilføjes nye poster manuelt?
Avatar billede nightowl24 Nybegynder
08. oktober 2004 - 16:25 #9
Det er lige netop det jeg gør :)
Avatar billede ldanielsen Nybegynder
11. oktober 2004 - 11:07 #10
hvilken database snakker vi om?
Avatar billede nightowl24 Nybegynder
11. oktober 2004 - 11:18 #11
Access
Avatar billede ldanielsen Nybegynder
11. oktober 2004 - 11:38 #12
OK, så har vi forklaringen

Access understøtter ikke at man sætter DEFAULT i et CREATE TABLE eller ALTER Table statement, ikke direkte i hvert fald. Men det siges at man alligevel kan gøre det hvis man bruger Jet OLE DB provider. Så leg lidyt med din ConnectionString og se om det kan gøres alligevel.

At du faktisk får oprettet en tabel siger mig at du faktisk har fat i den rigtige provider, men at du muligvis har syntaksfejl i SQL'en:


CREATE TABLE Admin (Admin_ID number primary key DEFAULT 1, Sidste_nyt_tekst NOTE DEFAULT 'test', Sidste_nyt_dato varchar(100) DEFAULT #30-09-04#, Next_Arr_Tekst NOTE DEFAULT 'test')

Jeg har tilføjet anførselstegn hhv. # omkring værdierne
Avatar billede ldanielsen Nybegynder
11. oktober 2004 - 11:38 #13
sorry, dit datofelt er varchar, så:

CREATE TABLE Admin (Admin_ID number primary key DEFAULT 1, Sidste_nyt_tekst NOTE DEFAULT 'test', Sidste_nyt_dato varchar(100) DEFAULT '30-09-04', Next_Arr_Tekst NOTE DEFAULT 'test')
Avatar billede nightowl24 Nybegynder
12. oktober 2004 - 11:39 #14
Har ikke tid til at kigge på det lige nu, men det er sikkert rigtigt nok, så bare smid et svar :)
Avatar billede ldanielsen Nybegynder
12. oktober 2004 - 12:09 #15
Jamen det må vi så håbe ...
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