webForumDet fria alternativet

Alter table

6 svar · 276 visningar · startad av Asa

AsaMedlem sedan dec. 20011 860 inlägg
#1

Vaför får jag syntaxfel i denna kodsnutt?

<%Set Conn = createObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("dbq/galleri.mdb")

Conn.Execute("ALTER TABLE galleri ADD visa int default 0")

Conn.Close
Set Conn=Nothing%>
VideMedlem sedan dec. 19998 577 inlägg
#2

Testa:

"ALTER TABLE galleri ADD COLUMN visa int default 0"
AsaMedlem sedan dec. 20011 860 inlägg
#3

Nää! Undra vad det är som strular :/

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i ALTER TABLE-instruktion.
/jobb/sexziten/skapa.asp, line 4

Det är Default 0 som strular! Tar jag bort det så funkar det att skapa. Testat å sätta '' runt 0 men funkar ej.

AsaMedlem sedan dec. 20011 860 inlägg
#4

Jag ändra till

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath("dbq/galleri.mdb")

Och då fick jag inga felmess men standardvärdet blev inte satt!

VideMedlem sedan dec. 19998 577 inlägg
#5

Lite intressant läsning ang. ditt problem: http://dbforums.com/archives/t317567.html

AsaMedlem sedan dec. 20011 860 inlägg
#6

Jag gjorde så här och då funkar det. Får köra med text på fältets datatyp tills vidare

<%Set Conn = createObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath("dbq/galleri.mdb")

Conn.Execute("ALTER TABLE galleri ADD column visa varchar(1) default 0")

Conn.Close
Set Conn=Nothing%>
nikoMedlem sedan juni 20022 599 inlägg
#7

Access/ADO:ns ALTER TABLE-syntax stöder inte default.

Om du har tillgång till ADOX så kan du göra så här:

 
  set cat = Server.CreateObject("ADOX.Catalog")
   set col = Server.CreateObject("ADOX.Column")
   cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=" & Server.MapPath("dbq/galleri.mdb")

   With col
      .Name = "Visa"
      .Type = 3 'adInteger
      Set .ParentCatalog = cat
      .Properties("Default") = 0
   End With
   cat.Tables("Galleri").Columns.Append col
   Set cat = Nothing
129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)