Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: delete

  1. #1

    delete

    Ho fatto una pagina delete.aspx, qui ho un asp:TextBox nel quale iserire l'id del record da eliminare, ma mi da quest'errore... Mi date una mano?
    e grazie anticipati.


    System.Data.OleDb.OleDbException: Tipi di dati non corrispondenti nell'espressione criterio. in Microsoft.VisualBasic.CompilerServices.Symbols.Con tainer.InvokeMethod(Method TargetProcedure, Object[] Arguments, Boolean[] CopyBack, BindingFlags Flags) in Microsoft.VisualBasic.CompilerServices.NewLateBind ing.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack) in ASP.delete_aspx.EliminaDati(Object Source, EventArgs E) in c:\inetpub\wwwroot\delete.aspx:riga 34



    codice:
    <%@ Page Language="VB" ContentType="text/html" ResponseEncoding="utf-8" debug="true"%>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.Oledb" %>
    <script runat="server">
    	 Sub Page_Load(Source as Object, E as EventArgs)
    	 End Sub
    
        Private ReadOnly Property StringaConnessione() As String
            Get
                Return "Provider=Microsoft.Jet.OLEDB.4.0;"& "Data Source=" & Server.MapPath("~/App_Data/collana.mdb")&""
            End Get
        End Property
        
    
    
     	 Sub EliminaDati(Source as Object, E as EventArgs)
    
    	    Dim cn
            Dim str
            Dim cmd
    
    		Dim icount As Integer
     	    cn = New  OleDbConnection(StringaConnessione)
    
            Dim id = Request.Form("TextBox1")
            Try
                cn.Open()
                str = "DELETE FROM libri WHERE id = '" & TextBox1.text & "'" 
    			
    
    			cmd = New OleDbCommand(str, cn)
    		
    
    			icount = cmd.ExecuteNonQuery()
    '       	Response.Write(str)
    
    Catch ex As Exception
    'messaggio di errore
    response.write(ex.tostring())
    Finally
    'chiusura connessione
    Dim connessione
    If (Not (Connessione Is Nothing)) Then Connessione.Close()
    End Try
    
            Label1.Text = "Record eliminato"
         End Sub
    </script>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>
    <body>
    <form action="registrazione.aspx" method="post" name="collana" id="collana" runat="server">
    <table>
     <tr>
          <td width="168" align="left" valign="middle">Elimina record</td>
          <td colspan="3" align="left" valign="middle"><asp:TextBox ID="TextBox1" TextMode="SingleLine" runat="server" /><asp:RequiredFieldValidator ControlToValidate="TextBox1" ID="txtTextBox1" runat="server" Text="*Richesto" />
    </td>
        <tr>
          <td align="center" valign="middle"></td>
          <td colspan="3" align="left" valign="middle"><asp:Button ID="Button1" Text="Elimina" runat="server" onClick="EliminaDati"/></td>
        </tr>
    </table>
    </form>
    <asp:Label ID="label1" runat="server"></asp:Label>
    </body>
    </html>

  2. #2
    Abbandona l'orrida concatenazione di stringhe nella costruzione della query e utilizza i più appropriati parametri.

    Ciao

  3. #3
    Originariamente inviato da Sgro
    Abbandona l'orrida concatenazione di stringhe nella costruzione della query e utilizza i più appropriati parametri.

    Ciao
    per esempio?

  4. #4
    Per esempio potresti studiarti qualche corso online e cercare qualche esempio, ti ho indirizzato verso la soluzione, vuoi anche la pappa pronta?

    Bah..

    codice:
    int mioid = 1;
    string query = "DELETE * FROM tab WHERE ID = @ID";
    cmd.Parameters.AddWithValue("ID",mioid);
    cmd.ExecuteNonQuery();

  5. #5
    Originariamente inviato da Sgro
    Per esempio potresti studiarti qualche corso online e cercare qualche esempio, ti ho indirizzato verso la soluzione, vuoi anche la pappa pronta?

    Bah..

    codice:
    int mioid = 1;
    string query = "DELETE * FROM tab WHERE ID = @ID";
    cmd.Parameters.AddWithValue("ID",mioid);
    cmd.ExecuteNonQuery();
    Non ti ho chiesto la pappa bella e pronta ma semplicemente un aiuto a risolvere il problema, se ti va mi aiuti a costruire la query, perchè così come hai postato il codice non so come inserirlo, se non ti va grazie lo stesso.

  6. #6
    presumo che l'id sia numerico quindi non

    str = "DELETE FROM libri WHERE id = '" & TextBox1.text & "'"

    ma

    str = "DELETE FROM libri WHERE id = " & TextBox1.text

    con i parametri diventerebbe

    str = "DELETE FROM libri WHERE id =@id"

    cmd = New OleDbCommand(str, cn)
    cmd.Parameters.Add( "@id",TextBox1.text)

    icount = cmd.ExecuteNonQuery()
    "...non è detto che sia tardi se non guardi che ora è..."

  7. #7
    Originariamente inviato da fbdesign
    Non ti ho chiesto la pappa bella e pronta ma semplicemente un aiuto a risolvere il problema, se ti va mi aiuti a costruire la query, perchè così come hai postato il codice non so come inserirlo, se non ti va grazie lo stesso.
    Ti ho aiutato, ti ho scritto l'esempio di codice, cosa vuol dire che scritto così non sai cosa fartene????? Cioè più chiaro di così non saprei proprio come scrivertelo...

  8. #8
    Originariamente inviato da Raffa62
    presumo che l'id sia numerico quindi non

    str = "DELETE FROM libri WHERE id = '" & TextBox1.text & "'"

    ma

    str = "DELETE FROM libri WHERE id = " & TextBox1.text

    con i parametri diventerebbe

    str = "DELETE FROM libri WHERE id =@id"

    cmd = New OleDbCommand(str, cn)
    cmd.Parameters.Add( "@id",TextBox1.text)

    icount = cmd.ExecuteNonQuery()
    Graie lo provo e ti faccio sapere!

  9. #9
    Originariamente inviato da fbdesign
    Graie lo provo e ti faccio sapere!
    Allucinante, ti ha praticamente fatto copia/incolla del mio codice, a lui lo ringrazi mentre a me pesci in faccia... mi ricorderò di non rispondere più ai tuoi post. Addio.

  10. #10
    Originariamente inviato da Sgro
    Ti ho aiutato, ti ho scritto l'esempio di codice, cosa vuol dire che scritto così non sai cosa fartene????? Cioè più chiaro di così non saprei proprio come scrivertelo...
    Ti ripeto che nn sei obbligato ad aiutarmi, quindi se ti innervosisce non farlo..
    Per te le cose sono chiare io non sono un programmatore e quindi chiedo un aiuto che a te suona come pappa bella e pronta...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.