Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Skapa nya medlemmar och uppdatera befintlig kontaktinfo.

Postades av 2004-09-13 20:20:14 - Tomas Wikers, i forum asp - allmänt, Tråden har 4 Kommentarer och lästs av 488 personer

Inledning:
Håller på att göra ett litet administrations system åt en lokal förening. Tanken är att de skall själva kunna lägga till, ta bort, samt uppdatera respektive medlems kontaktinformation. Allt går bra och smidigt, fram till att man skall skapa en ny medlem samt uppdatera befintlig kontaktinformation.

Systemet görs i: ASP
Databas: Access 2000, både databasen och db-mappen har korrekta rättigheter satta.
Typ av connectionstring: Microsoft.Jet.OLEDB.4.0
Server: Webbhotell med Windows 2000 Server

Problem 1: Skapa ny medlem:
Först kommer man till ett vanligt html dokument med ett vanligt formulär, inga konstigheter så här långt. Se nedan:

<form action="skapamedlem.asp" method="post" name="skapamedlem">
<table width="400" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="48%"><strong>F&ouml;retag</strong></td>
<td width="52%">&nbsp;</td>
</tr>
<tr>
<td width="48%"><input name="foretag" type="text"></td>
<td width="52%">&nbsp;</td>
</tr>
<tr>
<td width="48%"><strong>F&ouml;rnamn</strong></td>
<td width="52%"><strong>Efternamn</strong></td>
</tr>
<tr>
<td width="48%"><input name="fornamn" type="text"></td>
<td width="52%"><input name="efternamn" type="text"></td>
</tr>
<tr>
<td width="48%"><strong>Gatuadress</strong></td>
<td width="52%">&nbsp;</td>
</tr>
<tr>
<td width="48%"><input name="gatuadress" type="text"></td>
<td width="52%">&nbsp;</td>
</tr>
<tr>
<td width="48%"><strong>Postnr</strong></td>
<td width="52%"><strong>Ort</strong></td>
</tr>
<tr>
<td width="48%"><input name="postnr" type="text"></td>
<td width="52%"><input name="ort" type="text"></td>
</tr>
<tr>
<td width="48%"><strong>Telefon</strong></td>
<td width="52%"><strong>Fax</strong></td>
</tr>
<tr>
<td width="48%"><input name="telefon" type="text"></td>
<td width="52%"><input name="fax" type="text"></td>
</tr>
<tr>
<td width="48%"><strong>E-post</strong></td>
<td width="52%"><strong>Hemsida</strong></td>
</tr>
<tr>
<td width="48%"><input name="epost" type="text"></td>
<td width="52%"><input name="hemsida" type="text"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input name="btnSkicka" type="submit" value=" Skapa medlem "></td>
</tr>
</table></form>

ASP koden i filen skapamedlem.asp.

<%

Dim foretag, fornamn, efternamn, gatuadress, postnr, ort, telefon, fax, epost, hemsida

foretag = Request.Form("foretag")
fornamn = Request.Form("fornamn")
efternamn = Request.Form("efternamn")
gatuadress = Request.Form("gatuadress")
postnr = Request.Form("postnr")
ort = Request.Form("ort")
telefon = Request.Form("telefon")
fax = Request.Form("fax")
epost = Request.Form("epost")
hemsida = Request.Form("hemsida")

objConn.Execute("INSERT INTO medlemmar(foretag, fornamn, efternamn, gatuadress, postnr, ort, telefon, fax, epost, hemsida) VALUES ('"& Request.Form("foretag") &"','"& Request.Form("fornamn") &"','"& Request.Form("efternamn") &"','"& Request.Form("gatuadress") &"','"& Request.Form("postnr") &"','"& Request.Form("ort") &"','"& Request.Form("telefon") &"','"& Request.Form("fax") &"','"& Request.Form("epost") &"','"& Request.Form("hemsida") &"')")

objConn.Close
Set objConn = Nothing
%>

Ovanstående ASP kod genererar detta fel:

Microsoft JET Database Engine fel '80004005'
Operationen måste använda en fråga som kan uppdateras.
/admin/secure/webdocs/skapamedlem.asp, line 19

Rad 19 är hela kodblocket med objConn.Execute.

Jag har läst en del olika inlägg i forum om detta och de flesta säger att det har med rättigheter att göra. Men nu är det så att både databasfilen och mappen som den ligger i har både läs- och skrivrättigheter, och webbhotellet har de senaste drivrutinerna för bl a ADO och JET. Har pratat med min kompis som äger webbhotellet, och han har kollat både databasen och mappen, och rättigheterna är korrekta. Han hävdar att det antagligen är något fel i koden. Frågan är då, var?


Problem 2: Nästa problem är att uppdatera befintlig kontaktinformation.
Första sidan är ett formulär som hämtar informationen i databasen för den valda medlemmen och visar detta i textfält, detta fungerar utan problem. Se nedan:

ASP kod som hämtar informationen till formuläret:
<%
Dim objRS 'Recordset
Dim strSQL 'SQL förfrågan
Dim id 'ID numret som skall uppdateras

'Läs in idnumret som skall uppdateras
id = Request.QueryString("id")

'Skapa ett ADO recordset objekt
Set objRS = Server.CreateObject("ADODB.Recordset")

'Gör en förfrågan till databasen
strSQL = "SELECT * FROM medlemmar WHERE id=" & id

objRS.Open strSQL, objConn
%>

Formuläret med informationen som skall uppdateras

<form action="uppdatera_medlem.asp" method="post" name="uppdateramedlem">
<table width="400" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="48%"><strong>F&ouml;retag</strong></td>
<td width="52%"><strong>ID</strong> <%=objRS("id")%></td>
</tr>
<tr>
<td width="48%"><input name="txtForetag" type="text" id="txtForetag" value="<%=objRS("foretag")%>"></td>
<td width="52%">&nbsp;</td>
</tr>
<tr>
<td width="48%"><strong>F&ouml;rnamn</strong></td>
<td width="52%"><strong>Efternamn</strong></td>
</tr>
<tr>
<td width="48%"><input name="txtFornamn" type="text" id="txtFornamn" value="<%=objRS("fornamn")%>"></td>
<td width="52%"><input name="txtEfternamn" type="text" id="txtEfternamn" value="<%=objRS("efternamn")%>"></td>
</tr>
<tr>
<td width="48%"><strong>Gatuadress</strong></td>
<td width="52%">&nbsp;</td>
</tr>
<tr>
<td width="48%"><input name="txtGatuadress" type="text" id="txtGatuadress" value="<%=objRS("gatuadress")%>"></td>
<td width="52%">&nbsp;</td>
</tr>
<tr>
<td width="48%"><strong>Postnr</strong></td>
<td width="52%"><strong>Ort</strong></td>
</tr>
<tr>
<td width="48%"><input name="txtPostnr" type="text" id="txtPostnr" value="<%=objRS("postnr")%>"></td>
<td width="52%"><input name="txtOrt" type="text" id="txtOrt" value="<%=objRS("ort")%>"></td>
</tr>
<tr>
<td width="48%"><strong>Telefon</strong></td>
<td width="52%"><strong>Fax</strong></td>
</tr>
<tr>
<td width="48%"><input name="txtTelefon" type="text" id="txtTelefon" value="<%=objRS("telefon")%>"></td>
<td width="52%"><input name="txtFax" type="text" id="txtFax" value="<%=objRS("fax")%>"></td>
</tr>
<tr>
<td width="48%"><strong>E-post</strong></td>
<td width="52%"><strong>Hemsida</strong></td>
</tr>
<tr>
<td width="48%"><input name="txtEpost" type="text" id="txtEpost" value="<%=objRS("epost")%>"></td>
<td width="52%"><input name="txtHemsida" type="text" id="txtHemsida" value="<%=objRS("hemsida")%>"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<input type="hidden" name="id" value="<%=objRS("id")%>">
<input name="btnSkicka" type="submit" id="btnSkicka" value=" Uppdatera medlem "></td>
</tr>
</table>
</form>

Inga konstigheter så här långt. Nedanstående kodblock är det som skall uppdatera kontaktinformationen. Och den ger mig lite huvudbry. Den genererar fölande felmeddelande:

Microsoft JET Database Engine fel '80040e14'
Syntaxfel (operator saknas) i frågeuttrycket 'id='.
/admin/secure/webdocs/uppdatera_medlem.asp, line 21

Rad 21 är hela kodblocket med ”UPDATE medlemmar SET…”

<%
Dim id, foretag, fornamn, efternamn, gatuadress, postnr, ort, telefon, fax, epost, hemsida
Dim strSQL

id = Request.QueryString("id")
foretag = Request.Form("foretag")
fornamn = Request.Form("fornamn")
efternamn = request.Form("efternamn")
gatuadress = request.form("gatuadress")
postnr = request.form("postnr")
ort = request.form("ort")
telefon = request.form("telefon")
fax = request.form("fax")
epost = request.form("epost")
hemsida = request.form("hemsida")

strSQL = ("UPDATE medlemmar SET nyhetstext='" & Replace(foretag,"'","''") & "', fornamn='" & Replace(fornamn,"'","''") & "', efternamn='" & Replace(efternamn,"'","''") & "', gatuadress='" & Replace(gatuadress,"'","''") & "', postnr='" & Replace(postnr,"'","''") & "', ort='" & Replace(ort,"'","''") & "', telefon='" & Replace(telefon,"'","''") & "', fax='" & Replace(fax,"'","''") & "', epost='" & Replace(epost,"'","''") & "', hemsida='" & Replace(hemsida,"'","''") & "' WHERE id=" & Request.QueryString("id"))
objConn.Execute(strSQL)

objConn.Close
Set objConn = Nothing
%>

Det här var visserligen en hel del information men jag tyckte att det var lika bra att ta med allt från början, då det kanske blir lite lättare för er att förstå det hela.
Det är viktigt för mig att jag får en klarhet i dessa problem och vad som är fel och om det går att lösa. Det är antagligen väldigt simpla problem, men ibland är det lätt att bli ”hemmablind”.

Tacksam för all hjälp.

-Tomas


Svara

Sv: Skapa nya medlemmar och uppdatera befintlig kontaktinfo.

Postades av 2004-09-13 20:23:34 - Anna-Karin Söderberg

Problem 1, är just det som alla skriver ett rättighetsproblem, kolla att IUSR_DatorNamn har de rättigheter som krävs.

Problem 2, det står i felmeddelandet att ID inte har något värde, du får kolla varför den inte har det för, oftast har man stavat fel på något ställe.


//Anna-Karin


Svara

Sv: Skapa nya medlemmar och uppdatera befintlig kontaktinfo.

Postades av 2004-09-13 20:33:24 - Tomas Wikers

Tack för snabbt svar.
En dum fråga bara, ang rättigheter för IUSR_DatorNamn är detta något som jag skall ta upp med webbhotellet eller är det något som jag kan göra själv med databasfilen, och i sådana fall hur?


Svara

Sv: Skapa nya medlemmar och uppdatera befintlig kontaktinfo.

Postades av 2004-09-13 21:13:44 - Anna-Karin Söderberg

Om du inte har tillgång till serverns själv så är det webbhotellet som skall fixa detta åt dig.
Oftast så har de flesta webbhotell en mapp som ligger ovanför rootmappen där man ska lägga sina databasen.


//Anna-Karin


Svara

Sv: Skapa nya medlemmar och uppdatera befintlig kontaktinfo.

Postades av 2004-09-14 06:05:15 - Ragnar Hedblom

UPDATE

I UPDATE-strängen finns ett fältnamn som inte verkar vara rätt. Det står 'nyhetstext' där du lägger in företagsnamnet. Ska det vara så?

Svenne


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 786
27 960
271 761
770
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies