Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [ASP .NET] Semplicemente eseguire query

    Buongiorno,
    Ho sempre programmato in asp, e utilizzo da qualche giorno Visual Web Developer 2005 e mi sembra davvero un buon prodotto...
    Vengo subito al dunque:
    Possibile che con asp.net non si riesca semplicemente a eseguire una query tramite stringa???
    Esempio:

    ASP:
    codice:
    sql = "INSERT INTO tabella (val_1,val_2,val_3) VALUES (1,2,3)
    cn.execute (sql)
    ASP .NET:
    ????
    COME SI FA???
    Non esiste un comando simile a ciò che in sole 2 righe mi consenta di eseguire una query?

    Ringrazio tutti anticipatamente e scusatemi se la domanda vi sembra stupida (ne sono consapevole )
    ominoRoBy

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    285
    sql = "INSERT INTO tabella (val_1,val_2,val_3) VALUES (1,2,3)
    cn.execute (sql)

    Ciao ominoroby,

    Per eseguire una query del tipo Insert o Update devi eseguire il metodo executeNonQuery

    devi modificare la tua stringa nel seguente modo:

    Dim TuaQuery As New OledbCommand("INSERT INTO tabella (val_1,val_2,val_3) VALUES (1,2,3)", conn)

    TuaQuery .ExecuteNonQuery()


    Ovviamemente OledbCommand va utilizzato se utilizzi access.. potrebbe diventare un mysqlCommand o SqlCommand o qualcosa del genere in base al Db utilizzato.

    Ciao

  3. #3
    un passo avanti l'ho fatto... GRAZIE...
    Ora xò sorge un nuovo problema...

    Dichiaro la connessione
    codice:
    Dim cnCentroServiziExecute As New Data.SqlClient.SqlConnection("Data Source=nomeSVR;Initial Catalog=nomeDB;Persist Security Info=True;User ID=usr;Password=psw")
    codice:
    sql = "bla bla bla" (è irrilevante poichè sicuramente giusta)
    Eseguo la query
    codice:
    If cnCentroServiziExecute.State = Data.ConnectionState.Closed Then
       cnCentroServiziExecute.Open()
    End If
    
    Dim TuaQuery As New Data.SqlClient.SqlCommand(sql, cnCentroServiziExecute)
    TuaQuery.ExecuteNonQuery()

    ERRORE!

    codice:
    Riga 1: sintassi non corretta in prossimità di '('.
    
    Descrizione: 
    Eccezione non gestita durante l'esecuzione della richiesta Web corrente.
    Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack. 
    
    Dettagli eccezione:
    System.Data.SqlClient.SqlException: Riga 1: sintassi non corretta in prossimità di '('.
    
    Errore nel codice sorgente: 
    
    
    Riga 157:
    Riga 158:        Dim TuaQuery As New Data.SqlClient.SqlCommand(sql, cnCentroServiziExecute)
    Riga 159:        TuaQuery.ExecuteNonQuery()
    Riga 160:
    Riga 161:        'VISUALIZZAZIONI
    L'errore lo da sulla riga 159

    HELP!!!
    ominoRoBy

  4. #4
    Come l'errore ti fa capire:

    System.Data.SqlClient.SqlException: Riga 1: sintassi non corretta in prossimità di '('.

    MSSQL ti sta rispondendo picche. Nel tuo caso c'è qualche problema con gli apici che delimitano le stringhe.
    Penso quindi che il problema stia nella query SQL che vai a costruire. Controlla di sostituire i singoli apici di un qualche testo con il doppio apice, altrimenti MSSQL lo considera una chiusura di valore (e attenzione alla famosa vulnerabilità Sql Injection).

    Cmq .NET ti mette a disposizione delle classi apposta per evitare questo tipo di problemi.


  5. #5
    Funziona!

    Grazie a tutti...

    Credo di aver scritto un po di codice inutile, ma per il momento va bene così...

    Grazie per questo piccolo input!

    Saluti!
    ominoRoBy

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 © 2025 vBulletin Solutions, Inc. All rights reserved.