webForumDet fria alternativet

Skapa ny tabell i databasen?

ASP

31 svar · 473 visningar · startad av CoolDude

Medlem sedan aug. 2000304 inlägg
Frågan#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

------------------
//CoolDude

Medlem sedan dec. 199919 074 inlägg
#2

Tråden flyttas till: ASP & VBSCRIPT :)

------------------
<A HREF="http://www.lifestyleshop.nu" TARGET=_blank>LifeStyleShop.nu!</A>
The force can have a strong influence on the weak minded!

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

------------------
=================================
** ZWGdesign **
=================================

[Redigerat av PatrikB den 02 okt 2000]

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

------------------
=================================
** ZWGdesign **
=================================

[Redigerat av PatrikB den 02 okt 2000]

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
------------------
//CoolDude

[Redigerat av CoolDude den 03 okt 2000]

[Redigerat av CoolDude den 03 okt 2000]

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

------------------
//CoolDude

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

------------------
Kom hem till mig...

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. :)

------------------
//CoolDude

[Redigerat av CoolDude den 06 okt 2000]

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

------------------
=================================
** ZWGdesign **
=================================

[Redigerat av PatrikB den 06 okt 2000]

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) :)

------------------
//CoolDude

[Redigerat av CoolDude den 06 okt 2000]

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

------------------
Kom hem till mig...

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.

------------------
//CoolDude

[Redigerat av CoolDude den 06 okt 2000]

Medlem sedan dec. 19998 577 inlägg
#14

Exempel:

mySQL = "CREATE TABLE tblHuiYang (fldAuto Counter)"

------------------
Kom hem till mig...

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

------------------
=================================
** ZWGdesign **
=================================

[Redigerat av PatrikB den 06 okt 2000]

Medlem sedan dec. 19998 577 inlägg
#16

Missade nog den ;)

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

Mvh, Vide

------------------
Kom hem till mig...

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* ;)

------------------
<A HREF="http://www.webtomten.com" TARGET=_blank>Den evige babbelfisk jägarn </A>
Ett gott trams för länger livet :e

[Redigerat av jispir den 06 okt 2000]

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)

------------------
Kom hem till mig...

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....!

------------------
//CoolDude

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

------------------
=================================
** ZWGdesign **
=================================

[Redigerat av PatrikB den 10 okt 2000]

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)