Avatar billede larsen45 Juniormester
26. januar 2004 - 14:44 Der er 6 kommentarer og
1 løsning

hjælp hurtigt til tilføj data til access database

Jeg har denne kode som overhovedet ikke vil virke som den skal.
Jeg skal have en side som tilføjer indput til en access database.

Her er koden:
--------------------------------------------
<%  Session.LCID = 1030
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("dbdata2.mdb")
Conn.Open DSN

' Hvis der er trykket på submit-knappen
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
navn = Request.Form("navn")
by = Request.Form("by")
link = Request.Form("link")
hilsen = Request.Form("hilsen")
Hjemmeside = Request.Form("Hjemmeside")
IP = Request.ServerVariables("REMOTE_ADDR")

    strSQL = "INSERT INTO Nyheder (navn, by, link, hilsen, IP) "
    strSQL = strSQL & " values("
    strSQL = strSQL & "'"&navn&"',"
    strSQL = strSQL & "'" &by& "', "
    strSQL = strSQL & "'" &link& "', "
    strSQL = strSQL & "'" &hilsen& "', "
    strSQL = strSQL & "'"&IP&"')"                                                                                                                                                                                                           
        'Response.Write (strSQL)
    ' SQL sætning eksekveres
          Conn.Execute(strSQL)

    ' Efter endt tilføjelse til databasen, vises en alert-box og brugeren videresendes til vishilsen.asp
          Response.Write "<script>alert('indlæg er nu tilføjet');window.location = 'vishilsen.asp';</script>"
End If
%>
<html>
<head>
<title>1</title>

<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Tilføj hilsen</title>
</head>

<body>

                    <span class="Text">
                    <b>
                    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
                    <span style="font-size: 16pt; color: black; font-family: Verdana">
                    <div align="center">
<table cellSpacing="0" cellPadding="0" width="530" bgColor="#e8e9ed" border="1" id="table217">
    <tr bgColor="#a09b9b">
        <td class="content_boxtop" style="PADDING-LEFT: 10px">
                <p style="margin-top: 0; margin-bottom: 0">
                Tilføj hilsen</td>
    </tr>
                    </span></font>
                    <span style="font-size: 16pt; color: black; ">
                    <font face="Trebuchet MS" size="2">
    <tr>
        <td vAlign="top">
  <div align="center">
  <table border="0" cellspacing="1" width="449" id="table218">
    <tr>
      <td width="441">
      <p align="center"><b>Udfyld felterne</b></p></td>
    </tr>
  </table>
          </div>
          </font>
                    </span>
                    <span style="font-size: 16pt; color: black; ">
                    <font face="Trebuchet MS" size="2">
  <div align="center">
    <center>
<table width="526" cellspacing="0" cellpadding="0" border="1" id="table219">
  <form action="vishilsen.asp" method="POST" onsubmit="return validate(this);" name="fcustomer">
<script language="javascript">

function textCounter( field, countfield, maxlimit ) {
  if ( field.value.length > maxlimit )
  {
    field.value = field.value.substring( 0, maxlimit );
    alert( 'Du må max skrive 140 tegn i din hilsen !' );
    return false;
  }
  else
  {
    countfield.value = maxlimit - field.value.length;
  }
}

</script>

<td bgcolor="#FF0000">
<p style="margin-top: 0; margin-bottom: 0"><font size="2"><b>Navn</b></font></font></span><span style="font-size: 16pt; color: black; font-family: Verdana"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><font face="Trebuchet MS"><b><font size="2">:</font></b></font></td>
</tr>
<tr><td>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Trebuchet MS">
  <input name="navn" autocomplete="on" size="38" style="font-weight: 700"></font><b><font size="2" face="Trebuchet MS">
  (Dit navn)</font></b></td>
</tr>
</font></span>
                    <font size="2">
                    <span style="font-size: 16pt; color: black; ">
<tr>
<td bgcolor="#FF0000">
                    </span></font><span class="Text">
                    <b>
                    <font size="2">
                      <span style="font-size: 16pt; color: black; ">
                    <font face="Trebuchet MS" size="2">By</font></span></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><span style="font-size: 16pt; color: black; font-family: Verdana"><font face="Trebuchet MS" size="2">:</font></span></b></span><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><span style="font-size: 16pt; color: black; font-family: Verdana"></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">
                    <span class="Text">
                    <b>
                    <span style="font-size: 16pt; color: black; font-family: Verdana">
                    <font face="Trebuchet MS" size="2">
  <input name="by" autocomplete="on" size="58" style="font-weight: 700"></font></span></b></span></td>
</tr>
                    <font face="Trebuchet MS" size="2">
                    <span style="color: black; ">
<tr>
<td bgcolor="#FF0000">
                    <b>Link:</b></td>
</tr>
</span></font>
<tr>
                    <span class="Text">
                    <b>
                    <span style="font-size: 16pt; color: black; ">
<td bgcolor="#FFFFFF">
                    <span class="Text">
                    <b>
                    <span style="font-size: 16pt; color: black; font-family: Verdana">
                    <font face="Trebuchet MS" size="2">
  <input name="link" autocomplete="on" size="58" style="font-weight: 700"></font></span></b></span></td>
                    </span></b></span>
</tr>
</span></font>
                    <font face="Trebuchet MS" size="2">
                    <span style="font-size: 16pt; color: black; font-weight:700">
<tr>
<td bgcolor="#FF0000"><b><font face="Trebuchet MS" size="2">Hilsen</font></b></span></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><span style="font-size: 16pt; color: black; font-family: Verdana"><font face="Trebuchet MS" size="2"><b>.</b></font></td>
</tr>
</span>
                    <span style="color: black; font-family: Verdana">
<tr>
<td>
<b>OBS:</b> Der må højst skrives 130 tegn i din hilsen. <br>
Du vil kunne se din hilsen oppe i højre hjørne når den bliver publiceret.</td>
</tr>
</span>
                    <span style="font-size: 16pt; color: black; font-family: Verdana">
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 0">
  <textarea onkeypress="textCounter(this,this.form.counter,140);" name="hilsen" rows="9" cols="63"></textarea></td>
</tr>
<tr><td height="10">
  <p style="margin-top: 0; margin-bottom: 0">
                    <span class="Text">
                    <b>
                    <span style="font-size: 16pt; color: black; ">
                    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
                    <span style="font-size: 16pt; color: black; font-family: Verdana">
                    <input size="9" value="140" name="counter"></span><span style="color: black; font-family: Verdana">
    tegn</span></font><font face="Trebuchet MS" size="2"><span style="font-size: 16pt; color: black; font-family: Verdana"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
  <input type="submit" border="0" name="send" value="Send din hilsen"></form></font></span></b></span></td>
</tr>
<tr><td>
  <p style="margin-top: 0; margin-bottom: 0"></form></td>
</tr>
</table>

    </center>
  </div>
  </center>
</div>
        </td>
    </tr>
</table>
                    </div>
                    </font>
                    </span></b></span>
<p><span class="Text">
                    <b>
                    <span style="font-size: 16pt; color: black; ">
                    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
                    <span style="color: black; font-family: Verdana">
                    &nbsp;&nbsp;&nbsp;</span></b></span></p>

</body>

</html>


Jeg har følgende felter i min database: dbdata2.mdb

ID, navn, by, link, hilsen, dato, IP
------------------------------------------------------
Dato skal automatisk medtages i databasen brugerne som ikke skrive den.

Jeg håber meget på at få hurtigt hjælp til dette tak.

Venlig hilsen

Søren Borck Larsen
E-mail: dsl52640@vip.cybercity.dk
ICQ: 259566168
Skype: larsen45
Avatar billede eagleeye Praktikant
26. januar 2004 - 17:54 #1
Til at starte med så er by reserveret ord i SQL så der skal [] omkring i SQL sætninge:

strSQL = "INSERT INTO Nyheder (navn, [by], link, hilsen, IP) "
Avatar billede larsen45 Juniormester
26. januar 2004 - 19:04 #2
okay kan du ikke hjælpe mig med at få lavet koden helt korrekt så den kommer til at virke korrekt
Avatar billede eagleeye Praktikant
26. januar 2004 - 19:12 #3
Ja det kan jeg da.

Du vil også havde dato automatisk med i databasen så kan du bruge Date():


    strSQL = "INSERT INTO Nyheder (navn, [by], link, hilsen, dato, IP) "
    strSQL = strSQL & " values("
    strSQL = strSQL & "'"&navn&"',"
    strSQL = strSQL & "'" &by& "', "
    strSQL = strSQL & "'" &link& "', "
    strSQL = strSQL & "'" &hilsen& "', "
    strSQL = strSQL & "Date(), "
    strSQL = strSQL & "'"&IP&"')"
Avatar billede larsen45 Juniormester
26. januar 2004 - 19:22 #4
ja dato automatisk med i databasen.
Vil du ikke værer så venlig at skrive hele koden med rettelserne i.
Hvis du samtidigt ved hvordan man laver linieskift med max 30 antal bogstaver på hver linie ville det også værer godt. Jeg har nemlig denne kode som viser rotation fra databasen.

<meta http-equiv="Refresh" content="15; url=vishilsen.asp">

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

Set rs = Server.CreateObject("ADODB.Recordset")
strSQL = "Select * from hilsen"
rs.Open strSQL, Conn, 1

Randomize
rs.Move(Int(rs.RecordCount * Rnd))

strDateDiff = DateDiff("d",rs("dato"),Date)

If strDateDiff > "1" then

strSQL2 = "Delete from hilsen where ID = " & rs("ID")
Conn.Execute(strSQL2)
%>
<meta http-equiv="Refresh" content="0; url=vishilsen.asp">
<%
Else

If rs("link") = "" or rs("link") = "ingen hjemmeside" or rs("link") = "http://" then
Response.Write(rs("navn") & ", " & rs("by") & " (" & rs("dato") & "):<br>" & rs("hilsen"))
Elseif Left(rs("link"),7) = "http://" then
Response.Write("<a href=""" & rs("link") & """ target=""_blank"">" & rs("navn") & "</a>, " & rs("by") & " (" & rs("dato") & "):<br>" & rs("hilsen"))
Else
Response.Write("<a href=""http://" & rs("link") & """ target=""_blank"">" & rs("navn") & "</a>, " & rs("by") & " (" & rs("dato") & "):<br>" & rs("hilsen"))
End if

End if

rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
%>
Avatar billede eagleeye Praktikant
26. januar 2004 - 19:51 #5
Jo.. skal det være linjeskift for hvert 30 karakter??
Det vel der skal ikke være ord som er længere end 30 karakter??
Avatar billede larsen45 Juniormester
26. januar 2004 - 19:57 #6
det skal værer bogstaver som ikke er længere end 30 bogstaver ialt.
for at forklare det lidt bedre kan du f.eks. se på denne adresse at der oppe i højre
hjørne er lavet en linie skift. på præcis samme måde vil jeg gerne have det
Se her: http://www.thevoice.fm/
Avatar billede eagleeye Praktikant
26. januar 2004 - 20:19 #7
Ok der er tilføjet en function som kan dele stregne og sætte return. Den laver ikke returen knappen som til <br> skal den også det?. Hivs ja så fjern ' foran denne linje:
'hilsen = replace (hilsen, vbCrLf, "<br>")




<%  Session.LCID = 1030
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("dbdata2.mdb")
Conn.Open DSN

' Hvis der er trykket på submit-knappen
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
navn = Request.Form("navn")
by = Request.Form("by")
link = Request.Form("link")
hilsen = Request.Form("hilsen")
Hjemmeside = Request.Form("Hjemmeside")
IP = Request.ServerVariables("REMOTE_ADDR")
hilsen = addreturn(hilsen,30)
'hilsen = replace (hilsen, vbCrLf, "<br>")

    strSQL = "INSERT INTO Nyheder (navn, [by], link, hilsen, dato, IP) "
    strSQL = strSQL & " values("
    strSQL = strSQL & "'"&navn&"',"
    strSQL = strSQL & "'" &by& "', "
    strSQL = strSQL & "'" &link& "', "
    strSQL = strSQL & "'" &hilsen& "', "
    strSQL = strSQL & "Date(), "
    strSQL = strSQL & "'"&IP&"')"                                                                                                                                                                                                           
        'Response.Write (strSQL)
    ' SQL sætning eksekveres
          Conn.Execute(strSQL)

    ' Efter endt tilføjelse til databasen, vises en alert-box og brugeren videresendes til vishilsen.asp
          Response.Write "<script>alert('indlæg er nu tilføjet');window.location = 'vishilsen.asp';</script>"
End If
%>
<html>
<head>
<title>1</title>

<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Tilføj hilsen</title>
</head>

<body>

                    <span class="Text">
                    <b>
                    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
                    <span style="font-size: 16pt; color: black; font-family: Verdana">
                    <div align="center">
<table cellSpacing="0" cellPadding="0" width="530" bgColor="#e8e9ed" border="1" id="table217">
    <tr bgColor="#a09b9b">
        <td class="content_boxtop" style="PADDING-LEFT: 10px">
                <p style="margin-top: 0; margin-bottom: 0">
                Tilføj hilsen</td>
    </tr>
                    </span></font>
                    <span style="font-size: 16pt; color: black; ">
                    <font face="Trebuchet MS" size="2">
    <tr>
        <td vAlign="top">
  <div align="center">
  <table border="0" cellspacing="1" width="449" id="table218">
    <tr>
      <td width="441">
      <p align="center"><b>Udfyld felterne</b></p></td>
    </tr>
  </table>
          </div>
          </font>
                    </span>
                    <span style="font-size: 16pt; color: black; ">
                    <font face="Trebuchet MS" size="2">
  <div align="center">
    <center>
<table width="526" cellspacing="0" cellpadding="0" border="1" id="table219">
  <form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="POST" onsubmit="return validate(this);" name="fcustomer">
<script language="javascript">

function textCounter( field, countfield, maxlimit ) {
  if ( field.value.length > maxlimit )
  {
    field.value = field.value.substring( 0, maxlimit );
    alert( 'Du må max skrive 140 tegn i din hilsen !' );
    return false;
  }
  else
  {
    countfield.value = maxlimit - field.value.length;
  }
}

</script>

<td bgcolor="#FF0000">
<p style="margin-top: 0; margin-bottom: 0"><font size="2"><b>Navn</b></font></font></span><span style="font-size: 16pt; color: black; font-family: Verdana"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><font face="Trebuchet MS"><b><font size="2">:</font></b></font></td>
</tr>
<tr><td>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Trebuchet MS">
  <input name="navn" autocomplete="on" size="38" style="font-weight: 700"></font><b><font size="2" face="Trebuchet MS">
  (Dit navn)</font></b></td>
</tr>
</font></span>
                    <font size="2">
                    <span style="font-size: 16pt; color: black; ">
<tr>
<td bgcolor="#FF0000">
                    </span></font><span class="Text">
                    <b>
                    <font size="2">
                      <span style="font-size: 16pt; color: black; ">
                    <font face="Trebuchet MS" size="2">By</font></span></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><span style="font-size: 16pt; color: black; font-family: Verdana"><font face="Trebuchet MS" size="2">:</font></span></b></span><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><span style="font-size: 16pt; color: black; font-family: Verdana"></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">
                    <span class="Text">
                    <b>
                    <span style="font-size: 16pt; color: black; font-family: Verdana">
                    <font face="Trebuchet MS" size="2">
  <input name="by" autocomplete="on" size="58" style="font-weight: 700"></font></span></b></span></td>
</tr>
                    <font face="Trebuchet MS" size="2">
                    <span style="color: black; ">
<tr>
<td bgcolor="#FF0000">
                    <b>Link:</b></td>
</tr>
</span></font>
<tr>
                    <span class="Text">
                    <b>
                    <span style="font-size: 16pt; color: black; ">
<td bgcolor="#FFFFFF">
                    <span class="Text">
                    <b>
                    <span style="font-size: 16pt; color: black; font-family: Verdana">
                    <font face="Trebuchet MS" size="2">
  <input name="link" autocomplete="on" size="58" style="font-weight: 700"></font></span></b></span></td>
                    </span></b></span>
</tr>
</span></font>
                    <font face="Trebuchet MS" size="2">
                    <span style="font-size: 16pt; color: black; font-weight:700">
<tr>
<td bgcolor="#FF0000"><b><font face="Trebuchet MS" size="2">Hilsen</font></b></span></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><span style="font-size: 16pt; color: black; font-family: Verdana"><font face="Trebuchet MS" size="2"><b>.</b></font></td>
</tr>
</span>
                    <span style="color: black; font-family: Verdana">
<tr>
<td>
<b>OBS:</b> Der må højst skrives 130 tegn i din hilsen. <br>
Du vil kunne se din hilsen oppe i højre hjørne når den bliver publiceret.</td>
</tr>
</span>
                    <span style="font-size: 16pt; color: black; font-family: Verdana">
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 0">
  <textarea onkeypress="textCounter(this,this.form.counter,140);" name="hilsen" rows="9" cols="63"></textarea></td>
</tr>
<tr><td height="10">
  <p style="margin-top: 0; margin-bottom: 0">
                    <span class="Text">
                    <b>
                    <span style="font-size: 16pt; color: black; ">
                    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
                    <span style="font-size: 16pt; color: black; font-family: Verdana">
                    <input size="9" value="140" name="counter"></span><span style="color: black; font-family: Verdana">
    tegn</span></font><font face="Trebuchet MS" size="2"><span style="font-size: 16pt; color: black; font-family: Verdana"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
  <input type="submit" border="0" name="send" value="Send din hilsen"></form></font></span></b></span></td>
</tr>
<tr><td>
  <p style="margin-top: 0; margin-bottom: 0"></form></td>
</tr>
</table>

    </center>
  </div>
  </center>
</div>
        </td>
    </tr>
</table>
                    </div>
                    </font>
                    </span></b></span>
<p><span class="Text">
                    <b>
                    <span style="font-size: 16pt; color: black; ">
                    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
                    <span style="color: black; font-family: Verdana">
                    &nbsp;&nbsp;&nbsp;</span></b></span></p>

</body>

</html>


<%
function addreturn(inputStr, antal)
ConstmaxCharPrLine = antal
charPrLine = 0 'Counter
i = 1 'Counter
outStr = ""
'inputStr = replace (inputStr,"<br>", vbCrLf, -1, 1)
do while len(inputStr) > 0
  if len(inputStr)>maxCharPrLine then
    maxCharPrLine = ConstmaxCharPrLine
  else
    maxCharPrLine = len(inputStr)
  end if
  indexBR = inStr(1,inputStr, Chr(10)) 'Tjek for return
  if indexBR = 0 then 'ingen return
      indexMM = inStrRev(inputStr," ",maxCharPrLine)
      if indexMM = 0 then 'Tjek om der ingen mellemrum er i ordet
        indexMM = maxCharPrLine
        outStr = outStr & Left(inputStr,maxCharPrLine)
        if (len(inputStr) > maxCharPrLine) then
          outStr = outStr & "-" & vbCrLf
        end if
      else
        outStr = outStr & Left(inputStr,indexMM) & vbCrLf       
      end if
      indexBR = indexMM
  else
    if indexBR > maxCharPrLine then 'tjek om der er flere tegn end tilladt
      indexMM = inStrRev(inputStr," ",maxCharPrLine)
      if indexMM = 0 then 'Tjek om der ingen mellemrum er i ordet
        indexMM = maxCharPrLine
        outStr = outStr & Left(inputStr,maxCharPrLine) & "-" & vbCrLf
      else
        outStr = outStr & Left(inputStr,indexMM) & vbCrLf
      end if
      indexBR = indexMM
    else
      outStr = outStr & left(inputStr,indexBR)
    end if
  end if
  inputStr = mid(inputStr,indexBR+1)
  i = i + 1
  if i = 50 then inputStr = ""
loop
addreturn = outStr
end function
%>
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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