Avatar billede idiotbarn Nybegynder
29. marts 2001 - 22:14 Der er 15 kommentarer og
1 løsning

Opret form i DB

SPM 1:
Hvordan kan man få asp til at oprette en form (i access) med et navn, som man får fra en form på siden med nogle forud bestemte kolonne navne?
Det kan også virke hvis asp kunne rename en form(i access). Det skal skæres ud i pap.
Avatar billede netsrac Praktikant
29. marts 2001 - 22:18 #1
Ahva for en fisk ? Oprette en form i access ?
Forklar lidt nærmere :-)
Avatar billede Slettet bruger
29. marts 2001 - 22:18 #2
En form er lige med en tabel?

Læs nogle SQL tutorials...

Eller giv et eksempel på hvad du vil have oprettet
Avatar billede Slettet bruger
29. marts 2001 - 22:24 #3
Lige en ting mere... Du må undskylde hvis jeg tager fejl...

Du vil oprette tabeller dynamisk (så vidt jeg har forstået). Det lader til du er ude i noget \"snavs\". Det jeg mener er, at man normalt kan løse opgaverne på en anden måde (ved at bruge flere tabeller i forhold til hinanden)...

Derfor kunne du læse nogle tutorials om database design, feks. på www.webmonkey.com

Du må undskylde hvis jer er galt på den.. bare godt råd :o)
Avatar billede idiotbarn Nybegynder
30. marts 2001 - 15:29 #4
Hov...ja, jeg mener en tabel...
snavs, hva mener du?
Jeg skal bruge det til at hver gang der er en bruger der opretter sig, bliver der lavet en tabel med hans/hendes brugernavn....
-Broam
Avatar billede Slettet bruger
31. marts 2001 - 22:33 #5
Well...

jeg går ud fra du ved hvordan man sender værdier fra forms.. (?)

De indtastede værdier (fra formen):

navn = Request.Form(\"brugernavn\")
e-mail = Request.Form(\"email\")

SQL = \"INSERT INTO Brugere (Brugernavn, EMail) VALUES (navn, e-mail)\"
myConn.Execute(SQL)

DATA bliver nu indsat i en eksisterende tabel ved navn \"Brugere\".

Hvis der skal oprettes en helt ny tabel for hver bruger gøres det således:

SQL = \"CREATE table Request.Form(\"brugernavn\") (ID int(10) unsigned not null auto_increment, primary key (ID))\"
myConn.Execute(SQL)

håber det kunne bruges til noget...
Avatar billede idiotbarn Nybegynder
01. april 2001 - 11:21 #6
Tak, jeg prøver lige...
Jeg regner med at man skal oprette en forbindelse først ikke:

Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath(\"database.mdb\")
Conn.Open DSN

SQL = \"CREATE table Request.Form(\"brugernavn\") (ID int(10) unsigned not null auto_increment, primary key (ID))\"
myConn.Execute(SQL)

er det ikke sådan noget?
Hvad betyder:
(ID int(10) unsigned not null auto_increment, primary key (ID))

not null er noget med at der ikke må være nogle 0 værdier...ik?
Brian

Avatar billede Slettet bruger
01. april 2001 - 11:34 #7
jo du skal selvfølgelig huske at connecte til db\'en.. ;O)

(ID int(10) unsigned not null auto_increment, primary key (ID))

betyder at den oprettet en kolonnen med navnet ID, som højst kan være 10 positive tal, den kan ikke være tom, den forhøjer tallet med 1 automatisk.--->

Felt1    ID=1
Felt2    ID=2
Felt3    ID=3
.
.
.
.
Primary key (ID) betyder selvølgelig bare, at dén skal have en primær nøgle her. Altså at tallet er unikt.

Håber det var svar nok.. ;O))
Avatar billede idiotbarn Nybegynder
01. april 2001 - 14:51 #8
Der opstod en Microsoft VBScript-kompileringsfejl fejl \'800a0401\'

Slut på sætning var ventet

/opret.asp, linje 14

SQL = \"CREATE table Request.Form(\"brugernavn\") (ID int(10) unsigned not null auto_increment, primary key (ID))\"
----------------------------------^ -peger på Request.Form(\"brugernavn\")

her er koden:
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath(\"counter.mdb\")
Conn.Open DSN

SQL = \"CREATE table Request.Form(\"brugernavn\") (ID int(10) unsigned not null auto_increment, primary key (ID))\"
myConn.Execute(SQL)
Conn.Close
Set Conn = Nothing

%>


Avatar billede idiotbarn Nybegynder
01. april 2001 - 14:52 #9
Linie 14 er:
SQL = \"CREATE table Request.Form(\"brugernavn\") (ID int(10) unsigned not null auto_increment, primary key (ID))\"

kan du lave et kompet eksempel?
Avatar billede Slettet bruger
01. april 2001 - 14:57 #10
øhm... du har vist misforstået noget... ;O)

myConn er en variable som jeg selv har valgt.
Du har valgt at åbne databasen med Conn, og kører derefter en kommando med myConn, som faktisk slet ikke findes i dit script.... ;O)

altså..

MyConn.Execute(SQL) udskiftes med:

Conn.Execute(SQL)
Avatar billede idiotbarn Nybegynder
02. april 2001 - 21:32 #11
ok den her virker (næsten)
ok, jeg har en form der hedder Bandets_navn.
Formen sender variabler til en side med det her indhold:
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath(\"../system/xxBands.mdb\")
Conn.Open DSN

Bandnavn = Request.Form(\"Bandets_navn\")

SQL = \"CREATE TABLE Bandnavn (Brugernavn varchar, Kode varchar, Email varchar)\"
Conn.execute(SQL)

Response.Write Bandnavn

Conn.Close
Set Conn = Nothing
%>
Nu er problemet at scriptet opretter en tabel der hedder bandnavn.
Jeg har skrevet response.write Bandnavn for at chekke variablen. Den er fin. Hvis man har skrevet Blink 182 i formen, skriver den Blink 182, men den opretter stadig en tabel der hedder Bandnavn....
Brian
Avatar billede Slettet bruger
02. april 2001 - 21:37 #12
ja det er jo klart fordi SQL = \"\" er en string.

det skal være

SQL = \"CREATE TABLE \" & Bandnavn & \" (Brugernavn varchar, Kode varchar, Email varchar)\"

Håber det lykkes denne gang.. ;O)
Avatar billede idiotbarn Nybegynder
02. april 2001 - 21:53 #13
nix..
Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e14\'

[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i CREATE TABLE-sætningen.

/min frames/Opret ny/Data1.asp, linje 10

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath(\"../system/xxBands.mdb\")
Conn.Open DSN

Bandnavn = Request.Form(\"Bandets_navn\")

SQL = \"CREATE TABLE\" &Bandnavn &\"(Brugernavn varchar, Kode varchar, Email varchar)\"
Conn.execute(SQL)


Conn.Close
Set Conn = Nothing
%>
jeg har ikke rigtig prøvet så meget endnu, men har i nogle ideer, så kom med dem :)
Avatar billede Slettet bruger
02. april 2001 - 21:58 #14
DET ER JO KLART DET IKKE VIRKER!! Du skal jo læse min kode ordentligt!!!

Det er jo ikke ligemeget om databasen forstår koden på disse måder:

Min:

CREATE TABLE Bandnavn (Brugernavn varchar, Kode varchar, Email varchar)

Din:

CREATE TABLEBandnavn(Brugernavn varchar, Kode varchar, Email varchar)

Læg venligst mærke til mine mellemrum... ;O)
Avatar billede idiotbarn Nybegynder
02. april 2001 - 22:09 #15
SÅ VIRKER DET, 1000 tak.
Jeg har vist meget at lære endnu....
Avatar billede Slettet bruger
02. april 2001 - 22:12 #16
det var så lidt, du\' ! =)
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