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

    [SP] è meglio richiamare le SP usando ADODB.Command oppure no?

    ciao, ho il seguente dilemma:
    posso richiamare una SP con questo metodo (questa resituisce un recordset)
    codice:
    ...
    Set cmd = Server.CreateObject("ADODB.Command")
    With cmd
    	Set .ActiveConnection = conn
    	.CommandText = "Associazioni.creaAssociazioni"
    	.CommandType = adCmdStoredProc
    	Set rs = .Execute
    End With
    oppure avrei potuto fare semplicemente:
    codice:
    Set rs = conn.Execute("Associazioni.creaAssociazioni")
    qual'è secondo voi il metodo migliore, più performante, insomma, quello che fa acquistare più punti con le ragazze?

    (anche alla luce della necessità, magari, di dover passare alla sp dei parametri con i punti interrogativi ed i parameters anzichè creare una stringa sql in modo dinamico (sql = "procedura(" & parametro & ")")?)
    xxx

  2. #2
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    se funzionano entrambi io sceglierei il secondo più che altro per motivi di compatibilità. La seconda è una chiamata standard che funziona dappertutto. La prima potrebbe dare problemi di compatibilità con altri DB o con altre versioni del provider di dati
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  3. #3
    la prima soluzione è "la morte sua". stiamo parlando di sp, quindi non di access. col command ti trovi meglio nel passaggio dei parametri.

  4. #4
    Originariamente inviato da marco_c
    se funzionano entrambi io sceglierei il secondo più che altro per motivi di compatibilità. La seconda è una chiamata standard che funziona dappertutto. La prima potrebbe dare problemi di compatibilità con altri DB o con altre versioni del provider di dati
    ti ringrazio per la tua risposta, comunque dubito che l'utilizzo di adodb.command possa portare problemi di compatibilità in più rispetto alla chiamata tradizionale, io uso adodb.command nello stesso modo sia per oracle, che per sql server ed access (per dei prepared statements). inoltre passi per access, ma se uso sql server o oracle difficilmente cambierò db

    quello che interessava a me è quale metodo è migliore a livello di performance e perché usare adodb.command quando tutto si può fare su una riga, che vantaggi ha (oltre ad apparire più fighetto)?
    xxx

  5. #5
    come passi i parametri alla store con execute?

  6. #6
    Originariamente inviato da optime
    la prima soluzione è "la morte sua". stiamo parlando di sp, quindi non di access. col command ti trovi meglio nel passaggio dei parametri.
    quindi dici che la questione è principalmente di chiarezza e linearità del codice?
    xxx

  7. #7
    Originariamente inviato da optime
    come passi i parametri alla store con execute?
    con execute non ho mai provato a richiamare una sp passandole dei parametri, ma pensavo di fare come con una query normale, qunindi ad esempio:
    codice:
    Set rs = conn.Execute("Associazioni.creaAssociazioni(" & parametro1 & "," & parametro2 & ")")
    xxx

  8. #8
    stored query e stored procedure non sono proprio la stessa cosa.

  9. #9
    Originariamente inviato da optime
    stored query e stored procedure non sono proprio la stessa cosa.
    in che senso?
    xxx

  10. #10
    Ok, ho inteso quello che dicevi.

    per chi è interessato http://www.15seconds.com/issue/020919.htm

    xxx

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.