Avatar billede alsvik Nybegynder
05. april 2008 - 14:31 Der er 11 kommentarer og
1 løsning

Skrive til database

Det er lykkes mig (med hjælp herfra!) at oprette en forbindelse til min databse og skrive indholdet ud (kode nedenunder)
Hvordan gør jeg, hvis jeg ønsker at oprette nye entries i databasen?

<%
Dim my_conn, rs, strSQL
Set my_conn = createobject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
my_conn.open = "DRIVER={MySQL ODBC 3.51 Driver};"_
& "SERVER=localhost;"_
& "DATABASE=alsvik_dk;"_
& "UID=BRUGERNAVN; PWD=PASSWORD; OPTION=35;"
strSQL = "SELECT * FROM blog"
Set rs = my_conn.Execute(strSQL)
Do while not rs.eof
Response.Write "Overskrift: " & rs("name") & "<br>"
Response.Write "Dato: " & rs("time") & "<br>"
Response.Write "Indhold: " & rs("comments") & "<p><a href='http://www.alsvik.dk'>Se alsvik.dk</a></p><br><br><br><br>"
rs.MoveNext
loop
my_conn.close
Set my_conn = nothing
Set rs = nothing
%>
Avatar billede alsvik Nybegynder
05. april 2008 - 14:32 #1
jeg mener naturligvis fra en .asp side.
Det kræver 4 felter: Titel, Indhold, Dato, Tags

Jeg har et eksisterende system der virker i flash/php
Men det er ikke lykkes mig at få det til at virke med HTML/ASP.
Avatar billede terry Ekspert
05. april 2008 - 14:39 #2
Avatar billede soerenlyn Nybegynder
05. april 2008 - 14:40 #3
Du kan oprette ved at skrive:

my_conn.Execute("INSERT INTO [blog] ([Titel],[Indhold],[Dato],[Tags]) values ('din titel','dit indhold',Now(),'Tags')")
Avatar billede alsvik Nybegynder
05. april 2008 - 16:14 #4
tjaeh - men hvordan opretter jeg textfelter til de forsk. felter?
Og kan man sikre sig (evt. ved brugernavn/password) at det kun er mig som kan skrive til databasen?
Avatar billede w13 Novice
05. april 2008 - 16:17 #5
"men hvordan opretter jeg textfelter til de forsk. felter?"
- det forstår jeg ikke lige. Kan du give et eksempel?

Ja, du kan beskytte siden med password/brugernavn ligesom du kan på alle andre sider.
Men det kræver derfor et programmeret login-system og det er nok lidt offtopic i dette spørgsmål - det burde nok have sit eget.
Avatar billede alsvik Nybegynder
06. april 2008 - 15:02 #6
Jeg har lavet en form med textinput til Titel, Indhold og Tags. Dem skal jeg have sendt - men jeg ved ikke hvordan jeg knytter "my_conn.Execute("INSERT INTO [blog] ([Titel],[Indhold],[Dato],[Tags]) values ('din titel','dit indhold',Now(),'Tags')")" til min knap?

Indtil videre ser det således ud:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<%

Dim my_conn, rs, strSQL

Set my_conn = createobject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")


' It is recommened you put this part in a include file and just include it so you ' 'dont have to update every page to update the db info.

my_conn.open = "DRIVER={MySQL ODBC 3.51 Driver};"_
& "SERVER=localhost;"_
& "DATABASE=alsvik_dk;"_
& "UID=alsvik_dk; PWD=; OPTION=35;"

strSQL = "SELECT * FROM blog ORDER BY [time] DESC"




%>

<form name="write" method="post" action="?">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="11%">Titel:</td>
    <td width="89%"><input name="titel" type="text" id="titel" size="100"></td>
  </tr>
  <tr>
    <td valign="top">Indhold:</td>
    <td><textarea name="indhold" cols="100" rows="20" id="indhold"></textarea></td>
  </tr>
  <tr>
    <td valign="top">Tags:</td>
    <td><input name="tags" type="text" id="tags" value="" size="100"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>
     
        <div align="center">
          <input type="submit" name="submit" value="Send">
      </div></td>
  </tr>
</table>
</form>
Avatar billede soerenlyn Nybegynder
06. april 2008 - 15:16 #7
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<%

Dim my_conn, rs, strSQL

Set my_conn = createobject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")


' It is recommened you put this part in a include file and just include it so you ' 'dont have to update every page to update the db info.

my_conn.open = "DRIVER={MySQL ODBC 3.51 Driver};"_
& "SERVER=localhost;"_
& "DATABASE=alsvik_dk;"_
& "UID=alsvik_dk; PWD=; OPTION=35;"

strSQL = "SELECT * FROM blog ORDER BY [time] DESC"

my_conn.Execute("INSERT INTO [blog] ([Titel],[Indhold],[Dato],[Tags]) values (Request.Form("titel"),Request.Form("indhold"),Now(),Request.Form("tags"))")



%>

<form name="write" method="post" action="?">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="11%">Titel:</td>
    <td width="89%"><input name="titel" type="text" id="titel" size="100"></td>
  </tr>
  <tr>
    <td valign="top">Indhold:</td>
    <td><textarea name="indhold" cols="100" rows="20" id="indhold"></textarea></td>
  </tr>
  <tr>
    <td valign="top">Tags:</td>
    <td><input name="tags" type="text" id="tags" value="" size="100"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>
     
        <div align="center">
          <input type="submit" name="submit" value="Send">
      </div></td>
  </tr>
</table>
</form>
Avatar billede w13 Novice
06. april 2008 - 15:30 #8
soerenlyn>> SQL'en skal vist være sådan her i stedet:

my_conn.Execute("INSERT INTO [blog] ([Titel],[Indhold],[Dato],[Tags]) values ('"&Request.Form("titel")&"','"&Request.Form("indhold")&"',#"&Now()&"#,'"&Request.Form("tags")&"')")
Avatar billede soerenlyn Nybegynder
06. april 2008 - 16:19 #9
Nå ja, selvfølgelig :P
Avatar billede alsvik Nybegynder
06. april 2008 - 17:56 #10
Soerenlyn eller w13 vil ikke svare så i kan få point.
Tror egentlig det må være soerenlyn - jeg har jo også allerede smidt en masse point efter w13.
Avatar billede w13 Novice
06. april 2008 - 17:58 #11
De må gå til Søren Lyn. =)
Avatar billede alsvik Nybegynder
06. april 2008 - 19:02 #12
Hov - får faktisk denne fejL:

Error Type:
ADODB.Connection.1 (0x80004005)
SQLState: 37000 Native Error Code: 1064 [MySQL][ODBC 3.51 Driver][mysqld-one.com mysql proxy]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[blog] ([name],[comments],[time],[email]) values ('','',#4/6/2008 6
/n95.asp, line 20

Og ja - jeg har skiftet navn på alle felterne og brugernavn/password... :oD
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