Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Command e Adapter

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127

    Command e Adapter

    codice:
    direttamente dall'help del framework
    Dim da As OleDbDataAdapter = New OleDbDataAdapter()
      Dim cmd As OleDbCommand
    
      ' Create the SelectCommand.
    
      cmd = New OleDbCommand("SELECT * FROM Customers " & _
                           "WHERE Country = @Country AND City = @City", conn)
    
      cmd.Parameters.Add("@Country", OleDbType.VarChar, 15)
      cmd.Parameters.Add("@City", OleDbType.VarChar, 15)
    
      da.SelectCommand = cmd
    'e poi questo lo aggiungo io ..
    da.Fill(dataset, "nome")
    codice:
    direttamente da una mia applicazione :biifu: 
    o e i sono variabili prese da querystring..
    c'è il problema di attakki vari, x cui faccio innanzitutto il replace di caratteri "sensibili" (l'apice, x es)
    Dim MyAdapter As OleDbDataAdapter
    	MyAdapter = new OleDbDataAdapter("SELECT * FROM Customers WHERE Country = '" & o & "' AND City ='" & i & "'" , MyConnection)	
    	MyAdapter.Fill(dataset, "nome")
    ora: i paramers sono molto + sicuri, in quanto (se non ho capito male) il testo viene preso come tale, cioè senza alcun valore x la query (cioè, x es, update non vienevisto come comando x modificare un valore ma come parola normale)

    qual'è meglio? instanziare un nuovo command ed essere sicuri oppure farsi tutti i controlli a mano risparmiando un command?

    grazie

  2. #2

    Re: Command e Adapter

    Originariamente inviato da sms
    qual'è meglio? instanziare un nuovo command ed essere sicuri oppure farsi tutti i controlli a mano risparmiando un command?
    Non credo di aver capito bene la omanda. Cmq, quando scrivi
    MyAdapter = new OleDbDataAdapter("SELECT * .....
    e' come se scrivessi
    codice:
    MyAdapter = new OleDbDataAdapter
    MyAdapter.SelectCommand = New OleDb.OleDbCommand("SELECT * FROM ...", m_conn)
    se scrivi la query di selezione tra parentesi quando istanzi il dataadapter, ti risparmi di dover istanziare manualmente un command ma questo lavoro viene comunque svolto dalla classe xxxxdataadapter del framework. Se vuoi usare i parametri puoi farlo anche quando passi la query di selezione senza istanziare direttamente un command. es.
    codice:
    MyAdapter = new OleDbDataAdapter("SELECT * FROM tabella WHERE id = ?id", conn)
    MyAdapter.selectcommand.parameters.add("@id", oledbtype.int).value = 1
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    Se vuoi usare i parametri puoi farlo anche quando passi la query di selezione senza istanziare direttamente un command. es.
    grazie mille!! non lo sapevo ..

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.