Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro ao alterar valor


spriggan

Pergunta

Olá, estou desenvolvendo um sisteminha para alterar um valor no banco de dados sql..... estou utilizando o Dreamweaver para confecção do código ASP

bom, o problema está sendo esse, apos clicar no botão que altera o valor, no banco.... é retornado o seguinte erro......

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][ODBC SQL Server Driver][sql Server]Parameterized Query '(@P1 text,@P2 text,@P3 float,@P4 float,@P5 float,@P6 float,@P7 f' expects parameter @P1, which was not supplied.

e acusa o erro na linha 47

MM_editCmd.Execute

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

O código aeeee

<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="../Connections/loja.asp" -->
<%
Dim MM_editAction
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
Dim MM_abortEdit
MM_abortEdit = false
%>
<%
' IIf implementation
Function MM_IIf(condition, ifTrue, ifFalse)
  If condition = "" Then
    MM_IIf = ifFalse
  Else
    MM_IIf = ifTrue
  End If
End Function
%>
<%
If (CStr(Request("MM_update")) = "form1") Then
  If (Not MM_abortEdit) Then
    ' execute the update
    Dim MM_editCmd

    Set MM_editCmd = Server.CreateObject ("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_loja_STRING
    MM_editCmd.CommandText = "UPDATE dbo.PRODUTOS_PRECOS SET CODIGO_TAB_PRECO = ?, PRODUTO = ?, PRECO1 = ?, PRECO2 = ?, PRECO3 = ?, PRECO4 = ?, LIMITE_DESCONTO = ?, PROMOCAO_DESCONTO = ?, ULT_ATUALIZACAO = ?, INICIO_PROMOCAO = ?, FIM_PROMOCAO = ?, DATA_PARA_TRANSFERENCIA = ? WHERE PRODUTO = ?" 
    MM_editCmd.Prepared = true
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 201, 1, 2, Request.Form("CODIGO_TAB_PRECO")) ' adLongVarChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 201, 1, 12, Request.Form("PRODUTO")) ' adLongVarChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 5, 1, -1, MM_IIF(Request.Form("PRECO1"), Request.Form("PRECO1"), null)) ' adDouble
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param4", 5, 1, -1, MM_IIF(Request.Form("PRECO2"), Request.Form("PRECO2"), null)) ' adDouble
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param5", 5, 1, -1, MM_IIF(Request.Form("PRECO3"), Request.Form("PRECO3"), null)) ' adDouble
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param6", 5, 1, -1, MM_IIF(Request.Form("PRECO4"), Request.Form("PRECO4"), null)) ' adDouble
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param7", 5, 1, -1, MM_IIF(Request.Form("LIMITE_DESCONTO"), Request.Form("LIMITE_DESCONTO"), null)) ' adDouble
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param8", 5, 1, -1, MM_IIF(Request.Form("PROMOCAO_DESCONTO"), Request.Form("PROMOCAO_DESCONTO"), null)) ' adDouble
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param9", 135, 1, -1, MM_IIF(Request.Form("ULT_ATUALIZACAO"), Request.Form("ULT_ATUALIZACAO"), null)) ' adDBTimeStamp
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param10", 135, 1, -1, MM_IIF(Request.Form("INICIO_PROMOCAO"), Request.Form("INICIO_PROMOCAO"), null)) ' adDBTimeStamp
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param11", 135, 1, -1, MM_IIF(Request.Form("FIM_PROMOCAO"), Request.Form("FIM_PROMOCAO"), null)) ' adDBTimeStamp
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param12", 135, 1, -1, MM_IIF(Request.Form("DATA_PARA_TRANSFERENCIA"), Request.Form("DATA_PARA_TRANSFERENCIA"), null)) ' adDBTimeStamp
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param13", 200, 1, 12, Request.Form("MM_recordId")) ' adVarChar
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

    ' append the query string to the redirect URL
    Dim MM_editRedirectUrl
    MM_editRedirectUrl = "dskv.asp?DSK=" + (Recordset1.Fields.Item("PRODUTO").Value) + ""
    If (Request.QueryString <> "") Then
      If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then
        MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
      Else
        MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
      End If
    End If
    Response.Redirect(MM_editRedirectUrl)
  End If
End If
%>
<%
Dim Recordset1__MMColParam
Recordset1__MMColParam = "1"
If (Request.QueryString("TROCAPRECO") <> "") Then 
  Recordset1__MMColParam = Request.QueryString("TROCAPRECO")
End If
%>
<%
Dim Recordset1
Dim Recordset1_cmd
Dim Recordset1_numRows

Set Recordset1_cmd = Server.CreateObject ("ADODB.Command")
Recordset1_cmd.ActiveConnection = MM_loja_STRING
Recordset1_cmd.CommandText = "SELECT * FROM dbo.PRODUTOS_PRECOS WHERE PRODUTO = ?" 
Recordset1_cmd.Prepared = true
Recordset1_cmd.Parameters.Append Recordset1_cmd.CreateParameter("param1", 200, 1, 12, Recordset1__MMColParam) ' adVarChar

Set Recordset1 = Recordset1_cmd.Execute
Recordset1_numRows = 0
%><style type="text/css">
<!--
body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #FFFFFF;
}
body {
    background-image: url(../img/background.jpg);
    background-repeat: repeat;
}
-->
</style>
<form method="POST" action="<%=MM_editAction%>" name="form1">
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">CODIGO_TAB_PRECO:</td>
      <td><%=(Recordset1.Fields.Item("CODIGO_TAB_PRECO").Value)%></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">PRODUTO:</td>
      <td><%=(Recordset1.Fields.Item("PRODUTO").Value)%></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">PRECO1:</td>
      <td><input type="text" name="PRECO1" value="<%=(Recordset1.Fields.Item("PRECO1").Value)%>" size="32">      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">PRECO2:</td>
      <td><%=(Recordset1.Fields.Item("PRECO2").Value)%></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">PRECO3:</td>
      <td><%=(Recordset1.Fields.Item("PRECO3").Value)%></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">PRECO4:</td>
      <td><%=(Recordset1.Fields.Item("PRECO4").Value)%></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">LIMITE_DESCONTO:</td>
      <td><%=(Recordset1.Fields.Item("LIMITE_DESCONTO").Value)%></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">PROMOCAO_DESCONTO:</td>
      <td><%=(Recordset1.Fields.Item("PROMOCAO_DESCONTO").Value)%></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">ULT_ATUALIZACAO:</td>
      <td><%=(Recordset1.Fields.Item("ULT_ATUALIZACAO").Value)%></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">INICIO_PROMOCAO:</td>
      <td><%=(Recordset1.Fields.Item("INICIO_PROMOCAO").Value)%></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">FIM_PROMOCAO:</td>
      <td><%=(Recordset1.Fields.Item("FIM_PROMOCAO").Value)%></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">DATA_PARA_TRANSFERENCIA:</td>
      <td><%=(Recordset1.Fields.Item("DATA_PARA_TRANSFERENCIA").Value)%></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td><input type="submit" value="Update record">      </td>
    </tr>
  </table>
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="MM_recordId" value="<%= Recordset1.Fields.Item("PRODUTO").Value %>">
<input name="hiddenField" type="hidden" value="<%=(Recordset1.Fields.Item("CODIGO_TAB_PRECO").Value)%>" />
<input name="hiddenField2" type="hidden" value="<%=(Recordset1.Fields.Item("LIMITE_DESCONTO").Value)%>" />
<input name="hiddenField3" type="hidden" value="<%=(Recordset1.Fields.Item("PRODUTO").Value)%>" />
<input name="hiddenField4" type="hidden" value="<%=(Recordset1.Fields.Item("LIMITE_DESCONTO").Value)%>" />
<input name="hiddenField5" type="hidden" value="<%=(Recordset1.Fields.Item("PROMOCAO_DESCONTO").Value)%>" />
<input name="hiddenField6" type="hidden" value="<%=(Recordset1.Fields.Item("ULT_ATUALIZACAO").Value)%>" />
<input name="hiddenField7" type="hidden" value="<%=(Recordset1.Fields.Item("INICIO_PROMOCAO").Value)%>" />
<input name="hiddenField8" type="hidden" value="<%=(Recordset1.Fields.Item("FIM_PROMOCAO").Value)%>" />
<input name="hiddenField9" type="hidden" value="<%=(Recordset1.Fields.Item("PRECO4").Value)%>" />
<input name="hiddenField10" type="hidden" value="<%=(Recordset1.Fields.Item("PRECO3").Value)%>" />
<input name="hiddenField11" type="hidden" value="<%=(Recordset1.Fields.Item("PRECO2").Value)%>" />
</form>
<p>&nbsp;</p>

<%
Recordset1.Close()
Set Recordset1 = Nothing
%>

Link para o comentário
Compartilhar em outros sites

  • 0

Bom... o seu código está muito bagunçado... É bem complicado criar um sistema inteiramente usando apenas os códigos que o proprio DW cria... normalmente ocorrem erros...

Recomendo refazer o seu código programando em asp ao invés de usar o DW... fica realmente bem complicado apontar uma causa só de erro!

Se você quiser pode tentar trocando apenas a instrução de update... mas acho que não vale a pena...

um exemplo de intrução de update seria:

Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
objConn.execute = "UPDATE tabela SET campo_bd='"&variavel_form&"', campo1_bd='"&variavel1_form&"' WHERE campo_bd = "& variavelform &""

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Opa, valeu pela força Rafael, seguinte, consegui resolver o problema estava em duas partes, parte 1.... a coluna da chave unica estava errado, alterei e passou a dar um outro probleminha, mas esse já é mais facil, éh na nora de passar para proxima pagina.

esse eu do conta de resolver por aqui......

Rafael, quais materiais de estudo você me indicaria, pois tenho um projeto aqui no trabalho, será algo com muito util entender melhor os códigos que estarei utilizando e é uma ótima forma de desprender um pouco mais do dreamweaver

vlww.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...