Avatar billede jmc Nybegynder
09. oktober 2003 - 11:27 Der er 7 kommentarer og
1 løsning

Too few parameters. Expected 1.

Nu har jeg hakket rundt i det i timer og gider efterhånden ikke mere, hvad går mund galt?

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/cd_key/navn.asp, line 115



<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/cdkey.asp" -->
<%
' *** 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 & "?" & Request.QueryString
End If

' boolean to abort record edit
MM_abortEdit = false

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

If (CStr(Request("MM_insert")) = "navn") Then

  MM_editConnection = MM_cdkey_STRING
  MM_editTable = "kunde"
  MM_editRedirectUrl = "key3.asp"
  MM_fieldsStr  = "navn|value|adresse|value|postnr|value|byen|value|telefonnr|value|email|value|dato|value|cdkey|value"
  MM_columnsStr = "navn|',none,''|adresse|',none,''|postnr|none,none,NULL|byen|',none,''|telefonnr|',none,''|email|',none,''|dato|',none,NULL|cdkey|none,none,NULL"

  ' 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
%>
<%
' *** Insert Record: construct a sql insert statement and execute it

Dim MM_tableValues
Dim MM_dbValues

If (CStr(Request("MM_insert")) <> "") Then

  ' create the sql insert statement
  MM_tableValues = ""
  MM_dbValues = ""
  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_tableValues = MM_tableValues & ","
      MM_dbValues = MM_dbValues & ","
    End If
    MM_tableValues = MM_tableValues & MM_columns(MM_i)
    MM_dbValues = MM_dbValues & MM_formVal
  Next
  MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

  If (Not MM_abortEdit) Then
    ' execute the insert
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

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

End If
%>
<%
Dim rs_cdkey__MMColParam
rs_cdkey__MMColParam = "1"
If (Request.QueryString("cdkey") <> "") Then
  rs_cdkey__MMColParam = Request.QueryString("cdkey")
End If
%>
<%
Dim rs_cdkey
Dim rs_cdkey_numRows

Set rs_cdkey = Server.CreateObject("ADODB.Recordset")
rs_cdkey.ActiveConnection = MM_cdkey_STRING
rs_cdkey.Source = "SELECT * FROM keys WHERE cdkey = " + Replace(rs_cdkey__MMColParam, "'", "''") + ""
rs_cdkey.CursorType = 0
rs_cdkey.CursorLocation = 2
rs_cdkey.LockType = 1
rs_cdkey.Open()

rs_cdkey_numRows = 0
%>

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>
<body>
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="navn" id="dato" onSubmit="MM_validateForm('navn','','R','adresse','','R','postnr','','R','byen','','R','telefonnr','','R','email','','RisEmail');return document.MM_returnValue">
  <p>informationer for cdkey: <%=(rs_cdkey.Fields.Item("cdkey").Value)%><br>
    installations key: <%=(rs_cdkey.Fields.Item("instkey").Value)%><br>
    Din modtager din CD intall key n&aring;r du har udfyldt f&oslash;lgende felter.
  </p>
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">Navn:</td>
      <td> <input type="text" name="navn" value="" size="32"> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Adresse:</td>
      <td> <input type="text" name="adresse" value="" size="32"> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Postnr:</td>
      <td> <input type="text" name="postnr" value="" size="32"> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Byen:</td>
      <td> <input type="text" name="byen" value="" size="32"> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Telefonnr:</td>
      <td> <input type="text" name="telefonnr" value="" size="32"> </td>
    </tr>
    <tr valign="baseline">
      <td height="28" align="right" nowrap>Email:</td>
      <td> <input type="text" name="email" value="" size="32"> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td> <input type="submit" value="ok"> </td>
    </tr>
  </table>
  <input name="dato" type="hidden" id="dato" value="<%=now%>">
  <input type="hidden" name="MM_insert" value="navn">
  <input name="cdkey" type="hidden" id="cdkey" value="<%=(rs_cdkey.Fields.Item("cdkey").Value)%>">
</form>
<p>&nbsp;</p>
</body>
</html>
<%
rs_cdkey.Close()
Set rs_cdkey = Nothing
%>
<%
cd_cdkey.Close()
Set cd_cdkey = Nothing
%>
Avatar billede jmarkling Nybegynder
09. oktober 2003 - 11:33 #1
Prøv evt. ikke sikkert det virker... har slet ikke testet det...

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/cdkey.asp" -->
<%
' *** 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 & "?" & Request.QueryString
End If

' boolean to abort record edit
MM_abortEdit = false

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

If (CStr(Request("MM_insert")) = "navn") Then

  MM_editConnection = MM_cdkey_STRING
  MM_editTable = "kunde"
  MM_editRedirectUrl = "key3.asp"
  MM_fieldsStr  = "navn|value|adresse|value|postnr|value|byen|value|telefonnr|value|email|value|dato|value|cdkey|value"
  MM_columnsStr = "navn|',none,''|adresse|',none,''|postnr|none,none,NULL|byen|',none,''|telefonnr|',none,''|email|',none,''|dato|',none,NULL|cdkey|none,none,NULL"

  ' 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
%>
<%
' *** Insert Record: construct a sql insert statement and execute it

Dim MM_tableValues
Dim MM_dbValues

If (CStr(Request("MM_insert")) <> "") Then

  ' create the sql insert statement
  MM_tableValues = ""
  MM_dbValues = ""
  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_tableValues = MM_tableValues & ","
      MM_dbValues = MM_dbValues & ","
    End If
    MM_tableValues = MM_tableValues & MM_columns(MM_i)
    MM_dbValues = MM_dbValues & MM_formVal
  Next
  MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

  If (Not MM_abortEdit) Then
    ' execute the insert
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection

    MM_editCmd.Execute(MM_editQuery)
    MM_editCmd.ActiveConnection.Close

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

End If
%>
<%
Dim rs_cdkey__MMColParam
rs_cdkey__MMColParam = "1"
If (Request.QueryString("cdkey") <> "") Then
  rs_cdkey__MMColParam = Request.QueryString("cdkey")
End If
%>
<%
Dim rs_cdkey
Dim rs_cdkey_numRows

Set rs_cdkey = Server.CreateObject("ADODB.Recordset")
rs_cdkey.ActiveConnection = MM_cdkey_STRING
rs_cdkey.Source = "SELECT * FROM keys WHERE cdkey = " + Replace(rs_cdkey__MMColParam, "'", "''") + ""
rs_cdkey.CursorType = 0
rs_cdkey.CursorLocation = 2
rs_cdkey.LockType = 1
rs_cdkey.Open()

rs_cdkey_numRows = 0
%>

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>
<body>
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="navn" id="dato" onSubmit="MM_validateForm('navn','','R','adresse','','R','postnr','','R','byen','','R','telefonnr','','R','email','','RisEmail');return document.MM_returnValue">
  <p>informationer for cdkey: <%=(rs_cdkey.Fields.Item("cdkey").Value)%><br>
    installations key: <%=(rs_cdkey.Fields.Item("instkey").Value)%><br>
    Din modtager din CD intall key n&aring;r du har udfyldt f&oslash;lgende felter.
  </p>
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">Navn:</td>
      <td> <input type="text" name="navn" value="" size="32"> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Adresse:</td>
      <td> <input type="text" name="adresse" value="" size="32"> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Postnr:</td>
      <td> <input type="text" name="postnr" value="" size="32"> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Byen:</td>
      <td> <input type="text" name="byen" value="" size="32"> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Telefonnr:</td>
      <td> <input type="text" name="telefonnr" value="" size="32"> </td>
    </tr>
    <tr valign="baseline">
      <td height="28" align="right" nowrap>Email:</td>
      <td> <input type="text" name="email" value="" size="32"> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td> <input type="submit" value="ok"> </td>
    </tr>
  </table>
  <input name="dato" type="hidden" id="dato" value="<%=now%>">
  <input type="hidden" name="MM_insert" value="navn">
  <input name="cdkey" type="hidden" id="cdkey" value="<%=(rs_cdkey.Fields.Item("cdkey").Value)%>">
</form>
<p>&nbsp;</p>
</body>
</html>
<%
rs_cdkey.Close()
Set rs_cdkey = Nothing
%>
<%
cd_cdkey.Close()
Set cd_cdkey = Nothing
%>
Avatar billede jmc Nybegynder
09. oktober 2003 - 11:40 #2
Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'

Der er ikke angivet nogen kommandotekst for kommandoobjektet.

/cd_key_datronic/navn.asp, line 115
Avatar billede jmc Nybegynder
09. oktober 2003 - 11:47 #3
det hjalp ikke en radisse.
Avatar billede sbm Nybegynder
09. oktober 2003 - 12:56 #4
Den ser ud til at være tosset over din  MM_editQuery der muligvis ikke indeholder en gyldig SQL sætning. Prøv at skrive den ud umiddelbart efter du har sat den i linie 109. Udkommenter så de efterfølgende linier hvor du forsøger at udføre det, så siden ikke går ud med en fejl.
Avatar billede jmc Nybegynder
09. oktober 2003 - 13:23 #5
Så siger den:
insert into kunde (navn,adresse,postnr,byen,telefonnr,email,dato,cdkey) values ('s','as',as,'sa','as','jm@mail.dk','10/9/2003 1:37:56 PM',100)
Avatar billede jmc Nybegynder
09. oktober 2003 - 13:25 #6
Du har ret, det var en tekst som skulle være et tal
Avatar billede sbm Nybegynder
09. oktober 2003 - 13:25 #7
Av av av... Det går ikke godt.

Du prøver at indsætte as i postnr feltet. Hvis det skal indsættes som en streng skal der ' rundt om. Det har du ikke. Altså skal det være et nummer, og det er det ikke.
Avatar billede sbm Nybegynder
09. oktober 2003 - 13:27 #8
Må jeg så smide et svar? :-)
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