softreda
Messages postés12Date d'inscriptionmercredi 12 mai 2004StatutMembreDernière intervention22 décembre 2005
-
30 nov. 2005 à 16:22
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
1 déc. 2005 à 21:03
Salut, je suis entraîne de développer un application de gestion en se connectant à une base oracle : les instruction la déçu sexécute sans problème ;
mydb.OpenEx( _T( "ODBC;Oracle;UID=sysrubis"
mydb.ExecuteSQL("insert into TBIO values (bio1)");
Je veux personnaliser mon code, la requête doit contenir un autre type par exemple déclarer un string monSTR , et lencapsuler dans ma requête SQl ;
j ai déjà essaie de faire ça mais ça marche pas ;
string monSTR ="bio1";
CString lpszSQL ;
lpszSQL ="insert into TBIO values";
lpszSQL += monSTR;
lpszSQL =")";
mydb.ExecuteSQL(lpszSQL);error C2679: '+=' binaire : aucun opérateur trouvé qui accepte un opérande de partie droite de type 'std::string' (ou il n'existe pas de conversion acceptable)
softreda
Messages postés12Date d'inscriptionmercredi 12 mai 2004StatutMembreDernière intervention22 décembre 2005 1 déc. 2005 à 09:52
Ca marche pas je trouve pas cette fonction dans les fonction membre de lpzSQl, (je développe sur VISUAL CPP) je ne sais pas si je me suis bien fait comprendre, en fait je veux envoyer des insertions sur différentes type de données bite, ou XML, je pense pas que on peut l'encapsuler dans une simple requête SQL STRING, y a pas une autre moyen que je peux utiliser pour gérer ma base sans passer par des requête directe?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 1 déc. 2005 à 10:21
CString a un opérateur (LPCTSTR) pour conversion.
Sur VC++ on peut employer tellement de technos que ça n'indique pas grand chose.
Si tu dois manipuler fortement l'intérieur des champs, il est certain que les instructions SQL ne sont plus adaptées, il te faudra récupérer leur valeur, la traiter et ensuite la réinjecter.
Avec ADO on fait cela très simplement:
_variant_t var;
_RecordsetPtr prs;
var = prs->Fields->GetItem((long)2)->Value; // 3eme CHAMP
....
prs->Fields->GetItem((long)3)->Value = var;