|
| opret en tabel online Fra : laitch |
Dato : 12-09-05 14:33 |
|
Jeg har et lille problem.
jeg skal bruge et script e.l. som kan oprette en ny tabel i en
access database.
Jeg har også mulighed for at bruge mysql men da jeg ikke kan
finde ud af det (nok mere gider at lære det) skal den mulighed
være sidste udvej.
jeg håber virkelig at nogle kan hjælpe mig
mvh laitch
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (12-09-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 12-09-05 14:42 |
|
laitch skrev:
> jeg skal bruge et script e.l. som kan oprette en ny tabel i en
> access database.
Der er to muligheder - enten en CREATE TABLE-sætning kørt som
almindelig sql-forespørgsel, eller også noget tabelmanipulerende
kode via ADODB.
Men før du går i gang - er du sikker på at du har behov for at
oprette en tabel online? Normalt er det ikke nødvendigt at ændre i
tabelstrukturen i en database når den er online.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
laitch (12-09-2005)
| Kommentar Fra : laitch |
Dato : 12-09-05 18:07 |
|
Jens GyldenkærneClausen skrev:
>
> Men før du går i gang - er du sikker på at du har behov for at
> oprette en tabel online?
ja, jeg er ved at lave en side hvor folk kan oprette deres egne
gæstebøger, der skal derfor blive oprettet en ny tabel når de
opretter en ny gæstebog
>
> Der er to muligheder - enten en CREATE TABLE-sætning kørt som
> almindelig sql-forespørgsel, eller også noget tabelmanipulerende
> kode via ADODB.
kan du forklare nærmere om ADODB løsningen?
mvh laitch
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (12-09-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 12-09-05 20:46 |
|
laitch skrev:
>> Men før du går i gang - er du sikker på at du har behov for
>> at oprette en tabel online?
> ja, jeg er ved at lave en side hvor folk kan oprette deres
> egne gæstebøger, der skal derfor blive oprettet en ny tabel
> når de opretter en ny gæstebog
Hvorfor vil du have en tabel til hver gæstebog? Det kan sagtens
laves med en eller to tabeller (en tabel til selve gæstebogen og
evt. en brugertabel). I gæstebogstabellen gemmer du en
identifikation af brugeren (fx et brugerID), og når folk så skal
arbejde med deres gæstebøger, får de kun lov til at arbejde med de
poster der indeholder deres eget ID.
> kan du forklare nærmere om ADODB løsningen?
Desværre ikke - jeg har aldrig selv haft brug for den, og det er
længe siden jeg har set den omtalt.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
laitch (13-09-2005)
| Kommentar Fra : laitch |
Dato : 13-09-05 13:11 |
|
Jens GyldenkærneClausen skrev:
>
> Hvorfor vil du have en tabel til hver gæstebog? Det kan sagtens
> laves med en eller to tabeller (en tabel til selve gæstebogen og
> evt. en brugertabel). I gæstebogstabellen gemmer du en
> identifikation af brugeren (fx et brugerID), og når folk så skal
> arbejde med deres gæstebøger, får de kun lov til at arbejde med de
> poster der indeholder deres eget ID.
jeg er ikke helt sikker på at jeg forstår, er det sådan at når man
poster en besked i en gæstebog, f.eks. den 6. oprettet gæstebog, så
vil der i en ekstre kolonne i databasen, blivet skrevet 6. så viser
gæstebog nr. 6 kun de beskeder med nr 6?
hvordan kan man gørre det?
ellers ville det være bedre hvis du forklaret sql løsningen på at
oprette en ny tabel
mvh laitch
P.S tak fordi du gider hjælpe mig :)
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (13-09-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 13-09-05 14:38 |
|
laitch skrev:
> jeg er ikke helt sikker på at jeg forstår, er det sådan at når
> man poster en besked i en gæstebog, f.eks. den 6. oprettet
> gæstebog, så vil der i en ekstre kolonne i databasen, blivet
> skrevet 6. så viser gæstebog nr. 6 kun de beskeder med nr 6?
Ja.
> hvordan kan man gørre det?
Selve gæstebogen er nem nok - du skal bare have id-nummeret på den
aktuelle gæstebog gemt et sted så det kan indsættes sammen med
teksten. Man kan enten bruge et skjult formelement (<input
type="hidden" name="bogID" value="6">) eller bruge en
sessionvariabel.
Den side hvor man kan oprette en gæstebog skal laves sådan at der
oprettes en post i en tabel over gæstebøgerne. Id-nummeret på
posten er det der skal bruges i den tabel hvor selve indholdet af
gæstebøgerne skal lægges ind.
Hvis du i forvejen har en brugertabel på dit site - og hver bruger
kun må oprette én gæstebog - kan du godt klare dig uden
gæstebogstabellen. I så fald kan du benytte et brugerID fra
brugertabellen som nøgle til din tabel med data til gæstebogen.
| |
laitch (13-09-2005)
| Kommentar Fra : laitch |
Dato : 13-09-05 20:39 |
|
Jens GyldenkærneClausen skrev:
> Der er to muligheder - enten en CREATE TABLE-sætning kørt som
> almindelig sql-forespørgsel, eller også noget tabelmanipulerende
> kode via ADODB.
kan du forklare sql mulighedden, jeg må lige sige at jeg aldrig har
brugt sql e.l.
mvh laitch
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (13-09-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 13-09-05 21:28 |
| | |
laitch (14-09-2005)
| Kommentar Fra : laitch |
Dato : 14-09-05 16:20 |
|
Jens GyldenkærneClausen skrev:
>
> < http://www.vb123.com/toolshed/99/createtables.htm>
> < http://sqlcourse.com/create.html>
> < http://www.w3schools.com/sql/sql_create.asp>
> < http://www.fontstuff.com/access/acctut16.htm>
jeg har fundet frem til dette:
CREATE TABLE Person
(
LastName varchar,
FirstName varchar,
Address varchar,
Age int
)
som sagt har jeg ikke brugt SQL før. Skal der ikke noget omkring
SQL sætningen, lige som at der er <% %> om asp??
Og hvordan ved serveren hvilken database tabellen skal oprettes
i??
er det muligt at bruge asp i SQL sætningen??
Eks:
CREATE TABLE <% noget asp %>
(
LastName varchar,
FirstName varchar,
Address varchar,
Age int
)
mvh laitch
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Peter Rosenkvis~ (14-09-2005)
| Kommentar Fra : Jens Peter Rosenkvis~ |
Dato : 14-09-05 17:26 |
|
laitch wrote:
> jeg har fundet frem til dette:
>
> CREATE TABLE Person
> (
> LastName varchar,
> FirstName varchar,
> Address varchar,
> Age int
> )
>
> som sagt har jeg ikke brugt SQL før. Skal der ikke noget omkring
> SQL sætningen, lige som at der er <% %> om asp??
> Og hvordan ved serveren hvilken database tabellen skal oprettes
> i??
I stedet for at oprette en relation til hver gæstebog, ville jeg følge
Jens Gyldenkærne Clausens tidligere råd om at bruge et id du gemmer i én
relation.
Ligegyldigt hvad du vælger, kan du ikke bare afvikle SQL direkte i en
ASP side. For at lære lidt om det, kan du kigge her:
http://www.html.dk/tutorials/asp/lektion19.asp
Du kan så bruge den SQL-sætning du nu vil.
Da du åbner en forbindelse til en bestemt database, er det også den du
opretter nye relationer i.
> CREATE TABLE <% noget asp %>
> (
> LastName varchar,
> FirstName varchar,
> Address varchar,
> Age int
> )
Det kan man godt, som du også vil indse efter at have kigget på
ovenstående link.
| |
laitch (14-09-2005)
| Kommentar Fra : laitch |
Dato : 14-09-05 19:33 |
|
Jens Peter Rosenkvist wrote:
> Ligegyldigt hvad du vælger, kan du ikke bare afvikle SQL direkte i en
> ASP side. For at lære lidt om det, kan du kigge her:
> http://www.html.dk/tutorials/asp/lektion19.asp
> Du kan så bruge den SQL-sætning du nu vil.
jeg har læst og gået i gang med at lave en lille test, men kan ikke få den
til at virke.
jeg har lavet 2 sider indtil vidre
nr 1 test.htm:
<html>
<head>
<title>test</title>
</head>
<body style="text-align: center">
<!-- Begin form code -->
<div>
<form name="form" method="post" action="opret.asp">
<span style="font-family: Arial">
Navn på gæstebog:</span><br />
<input type="text" name="name" maxlength="20" style="width: 350px">
<br>
<input type="submit" name="opret" value="Submit" style="font-family:
Times New Roman">
</form>
<!-- End form code -->
</div>
</body>
</html>
nr 2, opret.asp:
<html>
<head>
</head>
<body>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/test!!/guestbook.mdb")
Conn.Open DSN
CREATE TABLE Request.Form("name")
(
LastName varchar,
FirstName varchar,
Address varchar,
Age int
)
%>
<p>Indsæt denne kode kode der hvor du vil havde din gæstebog:</br>
</br>
<iframe src=" http://www.link.dk/gaestebog.asp?id=<%Response.write " &
Request.from("navn") & "%> " style="width: 500px; height:
600px"></iframe></p>
</body>
</html>
jeg har også databasen...
jeg kan ikke få det til at virke. nogle der kan hjælpe med at finde
fejlen?
den skulle være i linje 12, altså: CREATE TABLE Request.Form("name")
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Peter Rosenkvis~ (14-09-2005)
| Kommentar Fra : Jens Peter Rosenkvis~ |
Dato : 14-09-05 20:11 |
|
laitch wrote:
> Set Conn = Server.CreateObject("ADODB.Connection")
> DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> DSN = DSN & "DBQ=" & Server.MapPath("/test!!/guestbook.mdb")
Sikker på dette er korrekt for din side eller kopierede du det blot fra
tutorialen?
> CREATE TABLE Request.Form("name")
>
> (
> LastName varchar,
> FirstName varchar,
> Address varchar,
> Age int
> )
Hvis du læser tutorialen igennem en til gang, vil du se, at der ikke
står noget SQL frit hængende nogen steder på siden.
Du skal gemme det i en streng og derefter udføre SQL-sætningen.
Så din kode skulle i stedet have været:
strSQL = "CREATE TABLE " & Request.Form("name")
strSQL = strSQL & "(LastName varchar, "
strSQL = strSQL & "FirstName varchar, "
strSQL = strSQL & "Address varchar, "
strSQL = strSQL & "Age int)"
Conn.Execute(strSQL)
Men hvis jeg var dig, ville jeg starte med et noget simplere eksempel.
Følg eksempelvis tutorialen fra ende til anden, så du har styr på SQL i ASP.
| |
NoMoreSpam (14-09-2005)
| Kommentar Fra : NoMoreSpam |
Dato : 14-09-05 20:12 |
|
> <%
>
> Set Conn = Server.CreateObject("ADODB.Connection")
> DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> DSN = DSN & "DBQ=" & Server.MapPath("/test!!/guestbook.mdb")
> Conn.Open DSN
>
> CREATE TABLE Request.Form("name")
>
> (
> LastName varchar,
> FirstName varchar,
> Address varchar,
> Age int
> )
> %>
> <p>Indsæt denne kode kode der hvor du vil havde din gæstebog:</br>
> </br>
> <iframe src=" http://www.link.dk/gaestebog.asp?id=<%Response.write " &
> Request.from("navn") & "%> " style="width: 500px; height:
> 600px"></iframe></p>
> </body>
> </html>
>
> jeg har også databasen...
>
> jeg kan ikke få det til at virke. nogle der kan hjælpe med at finde
> fejlen?
> den skulle være i linje 12, altså: CREATE TABLE Request.Form("name")
Du kan ikke bare skrive variabler ind i et SQL udtryk, det nemmeste er IMHO
at lave en tekststreng hvor du opbygger hele udtrykket:
strSQL = "CREATE TABLE " & Request.Form("name") & " ( LastName varchar, "
strSQL = strSQL & "FirstName varchar, "
strSQL = strSQL & "Address varchar, "
strSQL = strSQL & "Age int );"
response.write strSQL & "<br>"
strSQL skal selvfølgelig erklæres. Den sidste sætning skriver hele SQL
udtrykket
på skærmen og den er guld værd når der skal fejlfindes. Det er iøvrigt en
besynderlig
ide at lave en tabel for hver bruger, men det har du vist fået at vide.
Er dette korrekt ?? Server.MapPath("/test!!/guestbook.mdb")
Har du en access database der hedder sådan liggende i en mappe under der
hedder
test!! ???
--
Med venlig hilsen
Tom Jensen
Læs mere om databaser og asp her:
http://www.FFSoft.dk
| |
laitch (16-09-2005)
| Kommentar Fra : laitch |
Dato : 16-09-05 14:25 |
|
Jeg har sidet og rodet lidt med det og det ser ud til at virke nu... Nu er
der bare et nyt problem, jeg får denne fejl besked:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open
registry key 'Temporary (volatile) Jet DSN for process 0xa24 Thread 0x804 DBC
0x2216d24 Jet'.
/Laitch/test!!/opret.asp, line 9
Jeg fandt denne artikkel:
http://support.microsoft.com/default.aspx?scid=kb;en-us;295297
så vidt jeg har forstået viser denne artikkel hvordan man løser problemet
hvis databasen ligger på IIS på computeren. Da jeg har xp home editon bruger
jeg et webhotel på nettet, og ved derfor ikke hvordan jeg skal løse dette
problem
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
NoMoreSpam (16-09-2005)
| Kommentar Fra : NoMoreSpam |
Dato : 16-09-05 19:34 |
|
"laitch"
> Jeg har sidet og rodet lidt med det og det ser ud til at virke nu... Nu er
> der bare et nyt problem, jeg får denne fejl besked:
>
> Microsoft OLE DB Provider for ODBC Drivers error '80004005'
>
> [Microsoft][ODBC Microsoft Access Driver]General error Unable to open
> registry key 'Temporary (volatile) Jet DSN for process 0xa24 Thread 0x804
DBC
> 0x2216d24 Jet'.
>
> /Laitch/test!!/opret.asp, line 9
>
> Jeg fandt denne artikkel:
>
> http://support.microsoft.com/default.aspx?scid=kb;en-us;295297
>
> så vidt jeg har forstået viser denne artikkel hvordan man løser problemet
> hvis databasen ligger på IIS på computeren. Da jeg har xp home editon
bruger
> jeg et webhotel på nettet, og ved derfor ikke hvordan jeg skal løse dette
> problem
Du har jo ftp adgang til dit web hotel, så prøv engang at lave en database
der
hedder test.mdb og læg den i samme mappe som den fil du prøver at åbne den
fra.
Din connection streng skal så se sådan ud:
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=test.mdb;Uid=;Pwd=;"
Hvis du får fejlmedelelser på det, må du undersøge om din udbyder
understøtter access
og asp.
--
Med venlig hilsen
Tom Jensen
Læs mere om databaser og asp her:
http://www.FFSoft.dk
| |
|
|