Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206

    [VB.NET] Niente inserimento

    scusate ho scritto questo codice:
    codice:
    Dim str as string = "Database=CURRICULUM;Server=localhost;user ID=user ;pwd=password "
    Dim conn as new SqlConnection(str)
    conn.open
    Dim sql as string = "INSERT INTO [ANAGRAFICA] ([NOME], [COGNOME]) "
    sql &= "VALUES = '" & lbNomeR.text & "',"
    sql &= "'" & lbCognomeR.Text & "')"
    Dim cmd as new sqlcommand(sql, conn)
    cmd.ExecuteNonQuery
    conn.close
    che dovrebbe mettere in un db i due dati nome e cognome, ma dà errore:
    Server Error in '/wcv' Application.
    --------------------------------------------------------------------------------

    Line 1: Incorrect syntax near '='.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Line 1: Incorrect syntax near '='.

    Source Error:


    Line 53: sql &= "'" & lbCognomeR.Text & "')"
    Line 54: Dim cmd as new sqlcommand(sql, conn)
    Line 55: cmd.ExecuteNonQuery
    Line 56: conn.close
    Line 57:


    Source File: D:\Wcv\index.aspx Line: 55

    Stack Trace:


    [SqlException: Line 1: Incorrect syntax near '='.]
    System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +180
    ASP.index_aspx.bangbang(Object sender, EventArgs e) in D:\Wcv\index.aspx:55
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
    System.Web.UI.WebControls.Button.System.Web.UI.IPo stBackEventHandler.RaisePostBackEvent(String eventArgument) +57
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEve ntHandler sourceControl, String eventArgument) +18
    System.Web.UI.Page.RaisePostBackEvent(NameValueCol lection postData) +33
    System.Web.UI.Page.ProcessRequestMain() +1277




    --------------------------------------------------------------------------------
    Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET Version:1.1.4322.573

  2. #2

    Re: [VB.NET] Niente inserimento

    Originariamente inviato da Aki
    ma dà errore:
    perche' come indicato nel messaggio di errore hai inserito un = al posto di una parentesi aperta
    sostituisci
    codice:
    sql &= "VALUES = '"
    con
    codice:
    sql &= "VALUES ('"
    cmq, costruire l'sql in questa maniera facilita tra le altre cose gli errori. Ti consiglio di approfondire l'uso dei parametri
    es.
    codice:
    Dim sql As String
            sql = "INSERT INTO ANAGRAFICA (NOME, COGNOME) VALUES (@nome, @cognome)"
            Try
                Dim conn As New SqlConnection("connectionstring")
                Dim cmd As New SqlCommand(sql, conn)
                cmd.Parameters.Add("@nome", SqlDbType.VarChar).Value = lbNomeR.text
                cmd.Parameters.Add("@cognome", SqlDbType.VarChar).Value = lbCognomeR.Text
                conn.Open()
                cmd.ExecuteNonQuery()
            Finally
                conn.Close()
            End Try
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206
    scusa ma sono all'inizio col .net, cosa servoono i parametri sql? come li uso x fare una INSERT?

  4. #4
    Originariamente inviato da Aki
    come li uso x fare una INSERT?
    sogno o son desto?
    mi sembra di averti inserito nel precedente post il tuo codice rifatto utilizzando i parametri... ma non vorrei avere delle allucinazioni... pero' e' da un po' che non faccio uso di droghe per programmare meglio
    Saluti a tutti
    Riccardo

  5. #5
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206
    Originariamente inviato da riccardone
    sogno o son desto?
    mi sembra di averti inserito nel precedente post il tuo codice rifatto utilizzando i parametri... ma non vorrei avere delle allucinazioni... pero' e' da un po' che non faccio uso di droghe per programmare meglio
    ah scusami riccardone ora ho capito, un'ultima cosa, i parametri li puoi usare anche nelle SELECT ... WHERE @param

    e poi i parametri son sempre con la @ davanti o va bene qualsiasi nome?

  6. #6
    Originariamente inviato da Aki
    i parametri li puoi usare anche nelle SELECT ... WHERE @param
    si, li usi in qualsiasi query sql dove appunto ci sono dei valori "variabili". Nel tuo esempio puoi metterli in una select ma non per sostituirli al nome di una colonna come mi sembra hai fatto quindi...
    codice:
    SELECT ... WHERE nomecolonna = @param
    e poi i parametri son sempre con la @ davanti o va bene qualsiasi nome?
    certo che no. L'identificatore li davanti serve proprio al dataprovider per distinguere un parametro da un qualsiasi nome. Invece, il segno @ e' utilizzato dal dataprovider SqlClient, mentre il dataprovider OleDb vuole il segno ?, quello di Oracle il segno : ecc.
    Se guardi nella documentazione di ogni dataprovider trovi il segno necessario e la sintassi giusta per i parametri.
    Saluti a tutti
    Riccardo

  7. #7
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206
    Originariamente inviato da riccardone
    si, li usi in qualsiasi query sql dove appunto ci sono dei valori "variabili". Nel tuo esempio puoi metterli in una select ma non per sostituirli al nome di una colonna come mi sembra hai fatto quindi...
    codice:
    SELECT ... WHERE nomecolonna = @param
    certo che no. L'identificatore li davanti serve proprio al dataprovider per distinguere un parametro da un qualsiasi nome. Invece, il segno @ e' utilizzato dal dataprovider SqlClient, mentre il dataprovider OleDb vuole il segno ?, quello di Oracle il segno : ecc.
    Se guardi nella documentazione di ogni dataprovider trovi il segno necessario e la sintassi giusta per i parametri.
    Grazie 1000


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.