Skapa ny tabell i databasen?

ASP

31 svar · 528 visningar · startad av CoolDude

Medlem sedan aug. 2000304 inlägg
Trådstart#1

Är det någon som vet hur man skapar en ny tabell med hjälp av ett asp script?
Det fungerar att lägga till fält i befintliga tabeller.
Men skulle vilja kunna skapa en ny tabell åsså.
Är det någon som vet hur man får till ett sådant script?

Använder mig av Access2000 på IIS 5

Medlem sedan dec. 199919 074 inlägg
#2

Tråden flyttas till: ASP & VBSCRIPT :)

Medlem sedan mars 20002 836 inlägg
#3

Hello,

med denna kod kan du skapa en tabell:

<%
On Error Resume Next
Set objConn= Server.CreateObject("ADODB.Connection")
	objConn.Provider = "Microsoft.Jet.OLEDB.4.0"
	objConn.ConnectionString = "Data Source=x:\mindatabas.mdb"
	objConn.Open

strSQL = "CREATE TABLE MIN_TABELL"

objConn.Execute(strSQL)

If err.Number <> 0 Then
	Response.Write "Tabellen skapades inte.<br>" & _
			"<b>[ERROR]:</b> " & err.Number & _
			"<br>" & err.Description
Else
	Response.Write "Tabellen skapades!."
End If

objConn.Close
Set objConn = nothing
%>

cya,
PatrikB

Medlem sedan juli 2000619 inlägg
#4

Appropå skapa en tabell..

hur lägger man till kolumner i tabellen sen??

någon som har en kodsnutt att dela med sig av?

/brw

Medlem sedan mars 20002 836 inlägg
#5

Hello,

lite mer kod som skapar en ny tabell med fälten:

FLD_ID räknare primärnyckel
FLD_NAME text(50)

OBS!!! för Access DB

<%
On Error Resume Next
Set objConn= Server.CreateObject("ADODB.Connection")
	objConn.Provider = "Microsoft.Jet.OLEDB.4.0"
	objConn.ConnectionString = "Data Source=x:\min_databas.mdb"
	objConn.Open

strSQL = "CREATE TABLE TBL_TEST " & _
		"(FLD_ID COUNTER NOT NULL PRIMARY KEY, FLD_NAME TEXT(50))"

objConn.Execute(strSQL)

If err.Number <> 0 Then
	Response.Write "<B>[ERROR]:</B> " & err.Number & "<br>" & err.Description
End If

objConn.Close
Set objConn = nothing
%>

cya,
PatrikB

Medlem sedan aug. 2000304 inlägg
#6

Tack PatrikB! :f

*springer in i labbet*
(mummlandes) - Hmm asp, asp, asp.
- Wee..! Fick iaf ett OK!
*Tebax från labbet*
Jepp Det verkar funka.. Märkligt det var inte "så" stor skilnad på vad jag använde tidigare...?

Verkar som att det är kopplingen till databasen som skiljer sig bara.....!!!

Många Tack! PatrikB

Medlem sedan aug. 2000304 inlägg
#7

Hmmm.....
Satt igår då å pillade å pillande med att få till den databas som skall till att användas, men kom bara inte på hur man sätter Primär Nyckel samt får ett AutoNumber fält...

strSQL = "CREATE TABLE TBL_TEST " & _		"(FLD_ID COUNTER NOT NULL PRIMARY KEY, FLD_NAME TEXT(50))"objConn.Execute(strSQL)

Kan deta vara svaret? :q

Medlem sedan dec. 19998 577 inlägg
#8

För att sätta en räknare så använder du helt riktigt "counter", men vad primary key blir vet jag faktiskt inte... men skulle gärna vet... :)

Mvh, Vide

Medlem sedan aug. 2000304 inlägg
#9

Tja.. :h Om Man Läser PatrikB's andra inlägg här ovan så skulle det kunna fungera......

(Synd man inte kan sitta på jobbet å trixa... (Byta kanske?) med sina script! Finns inte ens en vettig Data här... :( )

Hoppades på rätt svar innan jag får fortsätta hemmavid lixom. :)

Medlem sedan mars 20002 836 inlägg
#10

Hello,

PRIMARY KEY sätter just en Primärnyckel ....

Testa att köra detta lokalt så får ni se att nyckeln kommer fram när ni tar upp db och redigerar i Access ;o)

Man kan bara skapa en tabell, tom sådan genom att bara köra:

strSQL = "CREATE TABLE TBL_MIN_TABELL"
objConn.Execute(strSQL)

För att sedan lägga till fält:

strSQL = "ALTER TABLE TBL_MIN_TABELL ADD FLD_FALT COUNTER NOT NULL PRIMARY KEY"

objConn.Execute(strSQL)

Denna kod skapar ett fält, FLD_MITT_FALT, som "räknare" och primär nyckel.

cya,
PatrikB

Medlem sedan aug. 2000304 inlägg
#11

PatrikB: :f
Tack!
Hade missat COUNTER NOT NULL medans resten provade jag dock....
Samt att NU när jag Läser Ser jag att det var Alter inte under Create fasen...

Synd att du inte e Tjej då kunde du fått en riktig PUSS.. (om bara nu jag inte hade varit 'så' Äcklig) :)

Medlem sedan dec. 19998 577 inlägg
#12

Man kan bara skapa en tabell, tom sådan genom att bara köra

Inte riktigt sant, man kan lägga in fält samtidigt som man skapar tabellen faktiskt... :)

Mvh, Vide

Medlem sedan aug. 2000304 inlägg
#13

Vide: :q
Hur gör du då som?
Eftersom att "Create Table Ny_Tabell"
Inte godkänns om du lägger dit mer text.

Däremot går det att lägga till flera Columner samtidigt.

Medlem sedan dec. 19998 577 inlägg
#14

Exempel:

mySQL = "CREATE TABLE tblHuiYang (fldAuto Counter)"
Medlem sedan mars 20002 836 inlägg
#15

Hello,

Vide:
Kolla mitt inlägg med varningen OBS!! Endast Access DB.... ;) .... den koden gör en tabell och alla fälten samtidigt.
[redigerat]
Kolla koden ordentligt så ser ni att strSQL inte e på samma rad utan binds ihop med & _ kanske har ni missat det ;)
[/rediera]
Skrev oxå att man kan bara göra en tabell först och sedan skapa fälten i den inte att det endast går att först göra en tabell och sedan fälten =) ... lite fel formulerat vart det ... sorry.

cya,
PatrikB

Medlem sedan dec. 19998 577 inlägg
#16

Missade nog den ;)

Men CoolDude undrade, så jag visade... :)

Mvh, Vide

Medlem sedan maj 20011 343 inlägg
#17

Hur gör man för att bara lägga till fält då? *detta var nytt det visste jag inte* ;)

Medlem sedan dec. 19998 577 inlägg
#18

Se PatrikBs inlägg här ovan:

strSQL = "ALTER TABLE TBL_MIN_TABELL ADD FLD_FALT COUNTER NOT NULL PRIMARY KEY"
objConn.Execute(strSQL)
Medlem sedan aug. 2000304 inlägg
#19

Efter litet pillande så vart det enligt skisserna.
Tack! PatrikB & Vide.

En annan fråga som gäller detta.
Kan man fylla i "default" värdet i databasen på en gång, samtidigt som den skapar kolumnerna?

Så man slipper fylla i det efteråt....!

Medlem sedan mars 20002 836 inlägg
#20

Hello igen,

visst går det, att sätta ett default värde:

strSQL = "CREATE TABLE TBL_TABLE (FLD_ID COUNTER NOT NULL PRIMARY KEY, " & _
		"FLD_FIELD TEXT(50) DEFAULT Test)"

Cya,
PatrikB

266 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)