in data 07-27-2011 12:15 PM
Buongiorno,
sto iniziando a utilizzare TestStand (dispongo della v 3.5) per fare una procedura nella quale, alla fine di un collaudo, devo accedere a un database relazionale SQL, e mi funziona quasi tutto.
Ho problemi quando nelle query devo riferirmi a variabili NUMERICHE, mentre non ho problemi con variabili STRINGA.
Mi spiego, se in una tabella (p.e. «modelli») ho un campo di tipo STRINGA (p.e. il campo «Nome») e inoltre dispongo di una variabile di TestStand anch'essa di tipo STRINGA (p.e. «Locals.StringaNome») allora non ho problemi a fare una query dove c'è il confronto tra le due stringhe:
"SELECT * FROM `modelli` WHERE Nome=" + Locals.StringaNome
Un analogo confronto, ma tra NUMERI, mi riesce solo quando immetto direttamente il valore assoluto
per esempio con un campo «IDmodello» di tipo INT(1) :
"SELECT * FROM `modelli` WHERE IDmodello= 7"
e non riesco quando il medesimo valore è in una variabile numerica (p.e. «Locals.NumeroID» già inizializzata a 7)
non mi funzionano cose del tipo:
"SELECT * FROM `modelli` WHERE IDmodello=" + Locals.NumeroID
"SELECT * FROM `modelli` WHERE IDmodello=" + "Locals.NumeroID"
"SELECT * FROM `modelli` WHERE IDmodello=" + 'Locals.NumeroID'
Help me please!
Risolto Andare alla soluzione.
in data 07-27-2011 02:20 PM
Ciao,
da quello che scrivi mi pare tu stia componendo la query SQL in una expression di teststand, giusto? Nelle expression puoi utilizzare l'operatore '+' per concatenare (solo) le strighe quindi credo tu debba prima convertire in stringa la variabile numerica. Prova con:
"SELECT * FROM `modelli` WHERE IDmodello=" + str(Locals.NumeroID)
Ciao
in data 07-28-2011 04:29 AM
Ciao,
ti ringrazio della pronta risposta,
gli esempi di query che indicavo sono semplificazioni di query che utilizzo negli step OpenSQLstatement e DataOperation , sempre nel tag General -> EditDataOperation
ma non cambia nulla,
la tua informazione «...concatenare (solo) le stringhe...» è stata comunque risolutiva, infatti io partivo dal presupposto errato di concatenare stringhe oppure numeri dovendo badare al tipo di campo (della tabella del DB) col quale dovevo fare il confronto, perciò pensavo di dover trovare due modi differenti per risolvere confronti tra stringhe e confronti tra numeri
e per tale presupposto ritenevo necessario dover sempre creare variabili coerenti col tipo col quale erano destinete a essere confrontate
ciao,
ancora grazie
e a buon rendere!
gianni