Avatar billede kovalt Nybegynder
21. oktober 2002 - 14:19 Der er 10 kommentarer og
1 løsning

Oprettelse af ny kolonne med default value

Hej

Jeg sidder med en side i ASP hvorigennem jeg skan kunne oprette en ny kolonne i en eksisterende tabel i en DB. Dette har jeg løst som følger:

strSQL = "ALTER TABLE tabel1 ADD kolonne4 varchar(3)"
Conn.Execute(strSQL)

Hvis alle felterne i kolonnen skal oprettes med en default value, hvorledes gøres dette så?
Avatar billede bennytordrup Nybegynder
21. oktober 2002 - 14:21 #1
strsql = "alter table tabel1 add kolonne4 varchar(3) default ''"

Den vil lave en tabel, der har en tom streng som default.

Du kan også specificere, at der ikke må være null i tabellen:

strsql = "alter table tabel1 add kolonne4 varchar(3) not null default ''"
Avatar billede kovalt Nybegynder
21. oktober 2002 - 14:25 #2
Hvis jeg skriver følgende:

strSQL = "ALTER TABLE tabel1 ADD kolonne4 varchar(3) default = 'vardi'"
Conn.Execute(strSQL)

får jeg en syntax-error
Avatar billede kovalt Nybegynder
21. oktober 2002 - 14:25 #3
det er det samme hvis jeg sløjfer =
Avatar billede bennytordrup Nybegynder
21. oktober 2002 - 14:28 #4
Direkte fra BOL:

strsql = "alter table tabel1 add kolonne4 varchar(3) default 'hej'"

Hej kan erstattes af alt.

Det skal virke - jeg har selv brugt det på MS SQL 2000.
Avatar billede kovalt Nybegynder
21. oktober 2002 - 14:33 #5
Hmmmmm underligt - den kommer med:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in ALTER TABLE statement.
Avatar billede bennytordrup Nybegynder
21. oktober 2002 - 14:35 #6
Du kører mod Access. Det er er SQL Server.

Enten er du i forkert forum, eller også bruger du en forkert provider. Hvordan ser din connection streng ud?
Avatar billede kovalt Nybegynder
21. oktober 2002 - 14:35 #7
hvis jeg udskriver SQL'en:

ALTER TABLE geografi ADD Sonja4 varchar(3) default 'ej'
Avatar billede bennytordrup Nybegynder
21. oktober 2002 - 14:36 #8
Hvordan åbner du connection til databasen?
Avatar billede kovalt Nybegynder
21. oktober 2002 - 14:36 #9
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" + Server.MapPath("XXXXXX.mdb"))
Avatar billede bennytordrup Nybegynder
21. oktober 2002 - 14:37 #10
Læg et svar selv, accepter det svar og flyt spørgmsålet til Access.
Avatar billede kovalt Nybegynder
21. oktober 2002 - 14:37 #11
ok - tanx anyway
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
Computerworld tilbyder specialiserede kurser i database-management

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