Avatar billede -l_jogge_l- Nybegynder
13. september 2004 - 11:06 Der er 17 kommentarer og
1 løsning

Hvordan gemmer jeg en WYSIWYG Text i en Access Database?

Hej

Jeg har fundet denne en smart Editor hvor jeg henter og vil gemme i en Access database...

Editoren er denne:
http://www.webwizguide.info/asp/sample_scripts/RTE_application.asp

Jeg kan godt få den til at hente data.. men ikke gemme...!!
Avatar billede loukas Mester
13. september 2004 - 12:18 #1
Hej !!
I filen display_message.asp kan du indsætte i DB.
strMessage indeholder her data fra form.

F.eks:
strconnect = "Data Source=stien_til_din_DB/db.mdb;Provider=Microsoft.Jet.OLEDB.4.0;"
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strconnect
SQL = "INSERT INTO din_tabel(kolonne) VALUES('"&strMessage&"')"
objConn.Execute(SQL)
objConn.Close
Avatar billede loukas Mester
13. september 2004 - 12:20 #2
Måske skal du have den her med.
strMessage = replace(strMessage,"'", "''")
Avatar billede -l_jogge_l- Nybegynder
13. september 2004 - 13:04 #3
Jeg henter jo sådan her:

<!--#include file="common.asp" -->
<!--#include file="includes/emoticons_inc.asp" -->
<%

'Set the response buffer to true as we maybe redirecting
Response.Buffer = True


Dim strMessage             'Holds the Users Message


'Make sure this page is not cached
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 2
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "No-Store"

'Read in the posted message
strMessage = Request.Form("Message")


'If there is nothing to preview then say so
If strMessage = "" OR IsNull(strMessage) OR (InStr(1, strMessage, "<br>", 1) = 1 AND Len(strMessage) = 8) Then
    strMessage = "<br /><br /><div align=""center"">" & strTxtThereIsNothingToShow & "</div><br /><br />"
End If

%>
<html>
<head>
<title>Visning af Text</title>
<HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">

<!-- Web Wiz Rich Text Editor ver. <% = strRTEversion %> is written and produced by Bruce Corkhill ©2002-2004
        If you want your own Rich Text Editor then goto http://www.richtexteditor.org -->

<link href="includes/default_style.css" rel="stylesheet" type="text/css" />
</head>
<body bgcolor="#FFFFFF" text="#000000" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" OnLoad="self.focus();">
<table width="100%" border="0" cellspacing="0" cellpadding="1" align="center" height="53">
  <tr>
    <td align="center" height="17"><span class="heading"><% = strTxtDisplayMessage %></span></td>
  </tr>
</table>
<table width="98%" border="0" cellspacing="0" cellpadding="1" bgcolor="#000000" align="center">
<tr>
  <td>
          <table width="100%" border="0" cellspacing="0" cellpadding="2" bgcolor="#FFFFFF" height="147">
          <tr>
          <td class="text" valign="top">
            <!-- Message body -->
            <% = strMessage %>
            <!-- Message body ''"" -->
          </td>
          </tr>
        </table>
        </td>
      </tr>
      </table>
<div align="center">
<br />

<%Dim ADO_Connection
Dim SQL_STRING
Dim rsEditPage

set ADO_Connection = server.Createobject("ADODB.Connection")
ADO_Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../../cgi-data/db.mdb")
Set rsEditPage= Server.CreateObject("ADODB.Recordset")
SQL_STRING= "SELECT * FROM PAGE WHERE ID=" & TextStreng
rsEditPage.open SQL_String, ADO_Connection


rsEditPage.CursorType = 2
rsEditPage.LockType = 3
rsEditPage.Open strSQL, adoCon
rsEditPage.Fields("text") = strMessage
rsAddPage.Update
rsAddPage.Close


Response.Redirect "menu_edit.asp"
%>
</div>
</body>
</html>
Avatar billede -l_jogge_l- Nybegynder
13. september 2004 - 13:12 #4
Jeg kan bare ikke lige se hvordan jeg skal fange at den skal sende det til DB'en!
Avatar billede loukas Mester
13. september 2004 - 13:25 #5
Du har en fil som hedder: display_message.asp
det er den der bliver kaldt når du klikker på submit-knappen og viser det du har lavet med editoren.
Så du skal tilpasse og indsættekoden i display_message.asp, så skulle det blive gemt i DB.

strconnect = "Data Source=stien_til_din_DB/db.mdb;Provider=Microsoft.Jet.OLEDB.4.0;"
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strconnect
SQL = "INSERT INTO din_tabel(kolonne) VALUES('"&strMessage&"')"
objConn.Execute(SQL)
objConn.Close
Avatar billede -l_jogge_l- Nybegynder
13. september 2004 - 13:32 #6
Hvad med sådan her:

<%Dim ADO_Connection
Dim rsEditPage
Dim SQL_STRING

ADO_Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../../cgi-data/db.mdb")
set ADO_Connection = server.Createobject("ADODB.Connection")
Set rsEditPage= Server.CreateObject("ADODB.Recordset")
SQL = "INSERT INTO page.Text VALUES('"&strMessage&"')"
rsEditPage.open SQL_String, ADO_Connection

rsEditPage.CursorType = 2
rsEditPage.LockType = 3
rsEditPage.Open strSQL, adoCon
rsEditPage.Fields("text") = strMessage
rsAddPage.Update
rsAddPage.Close

Response.Redirect "menu_edit.asp"
%>
Avatar billede -l_jogge_l- Nybegynder
13. september 2004 - 13:43 #7
Den melder fejl her:
SQL_STRING= "INSERT INTO page.Text VALUES('"&strMessage&"')"
Avatar billede -l_jogge_l- Nybegynder
13. september 2004 - 13:43 #8
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Could not find file 'C:\WINNT\system32\page.mdb'.

/admin/texteditor/display_message.asp, line 71
Avatar billede -l_jogge_l- Nybegynder
13. september 2004 - 13:50 #9
Det er her den melder fejlen:

ADO_Connection.Execute(SQL_STRING)
Avatar billede -l_jogge_l- Nybegynder
13. september 2004 - 14:09 #10
Der er altså et eller andet galt her!
Avatar billede -l_jogge_l- Nybegynder
13. september 2004 - 15:00 #11
Ved du hvad der kan være gal?
Avatar billede -l_jogge_l- Nybegynder
13. september 2004 - 15:22 #12
Du kan se selve siden her:
http://www.bredan.net/admin/menu_edit.asp
Avatar billede loukas Mester
13. september 2004 - 16:24 #13
jo du kan godt gøre som du siger, men fejlen må betyde at den ikke kan finde databasen
Du kan evt prøve at lade være med at bruge server.mappath.
Avatar billede -l_jogge_l- Nybegynder
14. september 2004 - 00:38 #14
Hvordan mener du?
Avatar billede -l_jogge_l- Nybegynder
14. september 2004 - 12:10 #15
Hvis jeg ikke skal bruge server.mappath, hvad skal der så stå?
Avatar billede -l_jogge_l- Nybegynder
14. september 2004 - 12:19 #16
Jeg får denne fejl hvis jeg fjerne det:

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 0x5f0 Thread 0x208 DBC 0x82c7d2c Jet'.

/admin/texteditor/display_message.asp, line 70
Avatar billede -l_jogge_l- Nybegynder
15. september 2004 - 09:50 #17
Har du givet op?
Avatar billede -l_jogge_l- Nybegynder
15. september 2004 - 10:47 #18
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

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