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


Uppdatering falerar, "Too few parameters"

Postades av 2004-11-23 10:38:43 - Rebecka Lindell, i forum asp - allmänt, Tråden har 23 Kommentarer och lästs av 696 personer

Får ett felmeddelande när jag ska uppdatera en nyhet...

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.

/asp/edit.asp, line 131

Här kommer den mastiga koden... någon som orkar sätta sig in??

<%
' *** Edit Operations: declare variables

Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd

Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId

Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i

MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
  MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If

' boolean to abort record edit
MM_abortEdit = false

' query string to execute
MM_editQuery = ""
%>
<%
' *** Update Record: set variables

If (CStr(Request("MM_update")) = "form1" And CStr(Request("MM_recordId")) <> "") Then

  MM_editConnection = MM_klot_1_STRING
  MM_editTable = "tblArtikel"
  MM_editColumn = "ID"
  MM_recordId = "" + Request.Form("MM_recordId") + ""
  MM_editRedirectUrl = "login_ok.asp"
  MM_fieldsStr  = "rubrik|value|datum|value|ledtext|value|lank|value|lanktext|value|artikel|value"
  MM_columnsStr = "Rubrik|',none,''|Datum|',none,''|Ledtext|',none,''|Lank|',none,''|Lanktext|',none,''|Artikel|',none,''"

  ' create the MM_fields and MM_columns arrays
  MM_fields = Split(MM_fieldsStr, "|")
  MM_columns = Split(MM_columnsStr, "|")
  
  ' set the form values
  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
  Next

  ' append the query string to the redirect URL
  If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
      MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
    Else
      MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
    End If
  End If

End If
%>
<%
' *** Update Record: construct a sql update statement and execute it

If (CStr(Request("MM_update")) <> "" And CStr(Request("MM_recordId")) <> "") Then

  ' create the sql update statement
  MM_editQuery = "update " & MM_editTable & " set "
  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_formVal = MM_fields(MM_i+1)
    MM_typeArray = Split(MM_columns(MM_i+1),",")
    MM_delim = MM_typeArray(0)
    If (MM_delim = "none") Then MM_delim = ""
    MM_altVal = MM_typeArray(1)
    If (MM_altVal = "none") Then MM_altVal = ""
    MM_emptyVal = MM_typeArray(2)
    If (MM_emptyVal = "none") Then MM_emptyVal = ""
    If (MM_formVal = "") Then
      MM_formVal = MM_emptyVal
    Else
      If (MM_altVal <> "") Then
        MM_formVal = MM_altVal
      ElseIf (MM_delim = "'") Then  ' escape quotes
        MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
      Else
        MM_formVal = MM_delim + MM_formVal + MM_delim
      End If
    End If
    If (MM_i <> LBound(MM_fields)) Then
      MM_editQuery = MM_editQuery & ","
    End If
    MM_editQuery = MM_editQuery & MM_columns(MM_i) & " = " & MM_formVal
  Next
  MM_editQuery = MM_editQuery & " where " & MM_editColumn & " = " & MM_recordId

  If (Not MM_abortEdit) Then
    ' execute the update
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute '   ###########   HÄR ÄR RAD 131 ##########'
    MM_editCmd.ActiveConnection.Close

    If (MM_editRedirectUrl <> "") Then
      Response.Redirect(MM_editRedirectUrl)
    End If
  End If

End If
%>
<%
Dim rsUser__MMColParam
rsUser__MMColParam = "1"
If (Session("User") <> "") Then 
  rsUser__MMColParam = Session("User")
End If
%>
<%
Dim rsUser
Dim rsUser_numRows

Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.ActiveConnection = MM_klot_1_STRING
rsUser.Source = "SELECT * FROM tblUser WHERE UserName = '" + Replace(rsUser__MMColParam, "'", "''") + "'"
rsUser.CursorType = 0
rsUser.CursorLocation = 2
rsUser.LockType = 1
rsUser.Open()

rsUser_numRows = 0
%>
<%
Dim rsArtikel__MMColParam
rsArtikel__MMColParam = "1"
If (Request.QueryString("ID") <> "") Then 
  rsArtikel__MMColParam = Request.QueryString("ID")
End If
%>
<%
Dim rsArtikel
Dim rsArtikel_numRows

Set rsArtikel = Server.CreateObject("ADODB.Recordset")
rsArtikel.ActiveConnection = MM_klot_1_STRING
rsArtikel.Source = "SELECT * FROM tblArtikel WHERE ID = " + Replace(rsArtikel__MMColParam, "'", "''") + ""
rsArtikel.CursorType = 0
rsArtikel.CursorLocation = 2
rsArtikel.LockType = 1
rsArtikel.Open()

rsArtikel_numRows = 0
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>edit</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p>inloggad som: <%=(rsUser.Fields.Item("Namn").Value)%></p>
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="form1">
  <table width="100%"  border="0" cellspacing="0" cellpadding="2">
    <tr> 
      <td width="6%">Rubrik</td>
      <td width="50%"><input name="rubrik" type="text" id="rubrik" value="<%=(rsArtikel.Fields.Item("Rubrik").Value)%>" size="33"> 
        <input name="datum" type="hidden" id="datum" value="<%=Response.Write(Date())%>"> 
      </td>
      <td width="9%">&nbsp;</td>
      <td width="1%">&nbsp;</td>
      <td width="1%">&nbsp;</td>
      <td width="1%">&nbsp;</td>
      <td width="32%"><div align="right"> </div></td>
    </tr>
    <tr> 
      <td><div align="right"></div>
        <div align="left">Ledtext</div></td>
      <td><input name="ledtext" type="text" id="ledtext" value="<%=(rsArtikel.Fields.Item("Ledtext").Value)%>" size="33" maxlength="22"> 
        (max 22 tecken)</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td valign="top">Text</td>
      <td><textarea name="artikel" cols="40" rows="20" id="artikel"><%=(rsArtikel.Fields.Item("Artikel").Value)%></textarea></td>
      <td valign="bottom">&nbsp;
      </td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td valign="top">L&auml;nk</td>
      <td><input name="lank" type="text" id="lank" value="<%=(rsArtikel.Fields.Item("Länk1").Value)%>"></td>
      <td valign="bottom">&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td valign="top">L&auml;nktext</td>
      <td><input name="lanktext" type="text" id="lanktext" value="<%=(rsArtikel.Fields.Item("Länk1txt").Value)%>"></td>
      <td valign="bottom"><input type="submit" name="Submit" value="Submit"></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
  </table>

  

  <input type="hidden" name="MM_update" value="form1">
  <input type="hidden" name="MM_recordId" value="<%= rsArtikel.Fields.Item("ID").Value %>">
</form>
<p>&nbsp;
  
</p>
</body>
</html>
<%
rsUser.Close()
Set rsUser = Nothing
%>
<%
rsArtikel.Close()
Set rsArtikel = Nothing
%>


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-23 11:40:54 - Anna-Karin Söderberg

Hej

Testa att skriva ut din SQL sats så att du ser vilka värden som du får med och att du har alla fnuttar på rätta ställena och att inga är glömda.


//Anna-Karin



Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-23 11:59:54 - Daniel Wiberg

Haha.. jag kom just på varför jag programmerar i Editplus och inte i DreamWeaver...
Testa att skriva ut SQL Satsen så du ser vad den ger för kommando, på så sätt är det lättare att hitta felet..

Edit.. bra att man tar sådan tid på sig att skriva så alla andra hinner före ;-)


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-23 22:41:01 - Johan Nordberg

Klassiskt Access-problem som jag har för mig beror på att du måste ha med alla dina parametrar i resultsetet, dvs. alla fält som finns i Where-satsen, måste också finnas i Select-satsen.

Mvh // Johan


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 00:44:50 - Pelle Johansson

Troligast har någon av fälten ett ' i sig och det gör att din sql-sats sprängs sönder och blir färre fält än du tänkt dig. Lösningen för dig är att innesluta alla fält med ' men även replaca alla ' med ''. Det gör även att sql-injection undviks.

<code>
sql = "'" & replace(request.form("kalle"), "'","''") & "', " & _
"'" & replace(request.form("olle"), "'","''") & "', " & _
"'" & replace(request.form("lisa"), "'","''") & "'"

con.execute "insert into tabell (a,b,c) values (" & sql & ")
</code>

Hoppas detta hjälper dig vidare


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 10:04:27 - Rebecka Lindell

Hejsan!
tack för alla bra svar, men ni får ursäkta min dåliga asp!

Har jag förstått rätt att det är dessa två rader som jag ska använda det som Pelle beskriver?

MM_fieldsStr  = "rubrik|value|datum|value|ledtext|value|lank|value|lanktext|value|artikel|value"
  MM_columnsStr = "Rubrik|',none,''|Datum|',none,''|Ledtext|',none,''|Lank|',none,''|Lanktext|',none,''|Artikel|',none,''" 


O Anna-Karin, hur skriver man ut det?


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 10:09:06 - Daniel Wiberg

Ja det stämmer..
På Anna-Karins svar kan jag säga att om du vill skriva ut en sql sats så är det bara att kommentera raden som sparar i databasen och sedan använda dig av

<% = MM_FieldsStr %><br />
<% = MM_columnsStr %>

Du ser då hur strängarna ser ut och du kan se om du har en ' för mycket eller liknande...

/W


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 10:12:28 - Rebecka Lindell

J*klar vad snabba ni är på att svara!! Jag är imponerad! Ska genast testa!!
TACK

Jag har skrivit såhär nu, efter bästa "förståelseförmåga"... men det blir inget bra...


  MM_fieldsStr  = "rubrik|value|datum|value|ledtext|value|lank|value|lanktext|value|artikel|value"
  MM_columnsStr = "'"Rubrik|",none,"|Datum|",none,"|Ledtext|",none,"|Lank|",none,"|Lanktext|",none,"|Artikel|",none,"'"


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 10:16:28 - Daniel Wiberg

Det är därför vi finns ;-)


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 10:57:52 - Rebecka Lindell

Vill nån visa med min kod hur man gör detta? Jag har försökt på alla vis nu, men jag lyckas inte *snyft*
Måste få det att fungera, annars kan man inte ändra redan inlagda nyheter, vilket är väldigt tråkigt ju...

Jag hade vart såå tacksam, jag kommer inte längre...


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 11:10:07 - Daniel Wiberg

Hmm.. jag har kopierat din kod och kollar lite.. en fråga bara var är innehållet i "MM_klot_1_STRING"
Har du några includerade filer som inte finns med i den koden du skickade in?


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 11:16:08 - Rebecka Lindell

Guud vad snällt!
Koden som finns ovanför ser ut såhär:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../Connections/klot_1.asp" -->
<%
' *** Restrict Access To Page: Grant or deny access to this page
MM_authorizedUsers="2,xxx,1"
MM_authFailedURL="error.asp"
MM_grantAccess=false
If Session("MM_Username") <> "" Then
  If (false Or CStr(Session("MM_UserAuthorization"))="") Or _
         (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
    MM_grantAccess = true
  End If
End If
If Not MM_grantAccess Then
  MM_qsChar = "?"
  If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
  MM_referrer = Request.ServerVariables("URL")
  if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
  MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
  Response.Redirect(MM_authFailedURL)
End If
%>


och klot1.asp ser ut såhär:

<%
' FileName="Connection_ado_conn_string.htm"
' Type="ADO" 
' DesigntimeType="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
Dim MM_klot_1_STRING
MM_klot_1_STRING = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../DB/klot_1.mdb")

%>


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 11:18:04 - Daniel Wiberg

Hehe.. ok. Nu börjar vi snacka ;-)
Hur ser klot1.asp ut?


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 11:19:11 - Rebecka Lindell

=) samtidigt!


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 11:28:50 - Daniel Wiberg

Använd dig av denna kod och prova ;-)

    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    'MM_editCmd.Execute '   ###########   HÄR ÄR RAD 131 ##########'
	Response.Write("<br /><br /><font size=""4"" color=""red"">" & MM_editQuery & "</font><br /><br />")
    MM_editCmd.ActiveConnection.Close

Du ser vad jag har ändrat...


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 11:35:57 - Rebecka Lindell

Tack, men jag skickas till min förbannade 404-sida... =)
i adressfönstret så står det så här:

http://www.xxx.com/asp/error.asp?accessdenied=%2Fasp%2Flogin%5Fok%2Easp%3FID%3D521

Måste väl vara nåt med rättigheter att ändra eller?

MM_authorizedUsers="2,xxx,1"
har provat att ändra ordning på detta...
MM_authorizedUsers="1,xxx,2" -utan resultat, bara att om jag tar bort 2an får jag inte uppdatera alls.


E d nåt som kan vara till hjälp?
Tack Daniel för att du orkar bry dig!!


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 11:40:22 - Anna-Karin Söderberg

Access denied skulle kunna bero på att du inte har skrivrättigheter på databasen.

Testa att ge IUSR_Datornamn skrivärttigheter på mappen och databasen.
Mappen för att postlåsningsfilerna ska kunna tas bort.


//Anna-Karin
Som alltid skriver sin kod för hand.


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 11:42:22 - Daniel Wiberg

Haha.. nja,, det var kanske inte det jag ville åstadkomma med koden...
Nåväl, en fråga bara, har ni gjort programmeringen själv eller är det ett nedladdat skript?

Dit du kommer nu verkar som den inte vill ta inloggningen, ska kolla lite till på koden och se vad den försöker åstadkomma..

(Ytterligare en anledningen till att programmera i Editplus, ingen konstig kod som ingen kännner igen ;-)
Inget att tacka för förresten...


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 11:43:35 - Daniel Wiberg

Anna-Karin,
I koden som jag skickade har jag kommenterat bort exekveringen till databasen ;-)


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 11:46:45 - Rebecka Lindell

Hej igen,

Anna-Karin: Jag hade MER ÄN GÄRNA(!) skrivit egen kod, om jag bara hade kunnat så mkt, än så länge får jag försöka använda mig av färdiga skript o modda så det passar... denna koden har jag bara fått i uppdrag av en kompis att ändra lite i, men det blev mer komplicerat än vad jag trodde.. inte så lätt att bara sätta sig in i nån annans kod o sen ändra... iaf inte när man inte är duktig på det.

Daniel: Kan man inte sätta: MM_authorizedUsers="2,xxx,1" till nåt som gör att alla som har kommit såhär långt i inloggning oxå får lov att uppdatera.. nån global rättighet eller nåt? (E jag ute o cyklar??)


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 11:50:37 - Daniel Wiberg

nja, det beror lite på vad det är för program.. var är det nedladdat?

Vad som falerar är
<code>
MM_editQuery = update Tabell Set fält where column = id
</code>
Det verkar som den strängen inte riktigt vill vara med...

Vad är det för något du har laddat ner (eller din kompis) så ska jag titta på hela scriptet istället ;-)


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 11:53:30 - Rebecka Lindell

Det är nån programmerare som tydligen gjort det till min kompis, som sedan har lämnat över det bara... o nu sitter vi här! med knepig kod (enligt oss, haha -bara för att vi inte fattar givetvis!!)

Kan jag mejla filerna ist... blir så mkt kod här annars?
(jag använder både Dreamweaver & Editplus) =)


Svara

Sv: Uppdatering falerar, "Too few parameters"

Postades av 2004-11-24 11:55:15 - Daniel Wiberg

Maila på du ;-)

jokern@gmail.com

Och du. håll dig bara till Editplus ;-)


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 784
27 960
271 761
783
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