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

    Non riesco a capire questa query

    ciao a tutti,
    qualcuno, gentilmente, mi spiega cosa significa questo?


    codice:
    Dim sql As String = "SELECT * FROM miaTabella where miocampo1=@miocampo1 and miocampo2=@miocampo1"
    Dim cmd As New OleDbCommand(sql , conn)
    cmd.Parameters.AddWithValue("@miocampo1", txtcampo1.Value)
    cmd.Parameters.AddWithValue("@miocampo2", txtcampo2.Value)
    In particolare cosa significa: cmd.Parameters.AddWithValue perchè usare questo metodo e non fare una query concatenando il valore della textbox? A che pro?

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Perche' è ALTAMENTE sconsigliato incollare pezzi di query come stringa.
    Se ci sono apici ad esempio la query non funziona.

    Quel metodo semplicemente piazza al posto giusto i valori; con i parametri insomma, il provider pensa al posizionamento e molti problemi sono bypassati. L'ideale non è neanche il codice che hai postato, ma le stored a carico del DB, così il lavoro è condiviso

  3. #3
    Per capire questa è quella che si dice query parametrica giusto? Quindi il vantaggio è che non mi devo preoccupare del tipo di dati (testo, data, ecc.) ho capito bene?
    Per le stored intendi stored procedure, ma Access le supporta? Che intendi che il carico è suddiviso? Nell'esempio che ho postato di chi è il carico?

    Grazie per la pazienza

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    120
    Oltre a non preoccuparti del tipo di dati la cosa più importante è che eviti attacchi informatici di SQL Injection, mooolto pericolosi ( prendere controllo del sito, cancellare dati, rubare informazioni )

    No, le SP non sono supportate da Access ( quindi il correttissimo suggerimento di Djicko nel tuo caso non si applica )

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Per "lavoro suddiviso" intendevo che il carico di lavoro (siccome è buona norma bilanciarlo fra applicativo e database), con le stored è diviso fra i due (Ado.Net per i comandi e Sql Server per l'esecuzione ed il ritorno) e non spostato verso l'applicativo.

    Se ne guadagna anche parecchio in performance.

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.