LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 2013
-
30 janv. 2008 à 11:19
gvollant
Messages postés22Date d'inscriptionmardi 3 mars 2009StatutMembreDernière intervention 3 mars 2009
-
5 févr. 2008 à 05:28
Bonjour à tous,
Je programme actuellement un petit code permmetant d'acceder a SQL sever Express (en utilisant ado)
à un moment je dois rentrer un tableau C++ de 2 dimensions dans une table de ma base SQL, je fais donc :
for ( i=0; i<NX_TMP; i++ )
{
// For all Y points
for ( j=0; j<NY_TMP; j++ )
{
strcpy(strExec, "UPDATE MaTable SET ");
sprintf(temp," Tmp = %f",tmp);
strcat(strExec,temp);
sprintf(temp," WHERE nx = %d",i);
strcat(strExec,temp);
sprintf(temp," AND ny = %d",j);
strcat(strExec,temp);
}
try
{
// Insere des éléments // HRESULT retour recordset->Open(strExec,
connection.GetInterfacePtr(), adOpenForwardOnly,
adLockReadOnly, adCmdText);
}
}
le probleme c'est que cela génere donc NX * NY requete (dans mon cas precis 6000)
je voudrais savoir si il n'y a pas moyen d'optimiser tout ceci en une seule requete et de rentrer mon tableau 2D d'un seul coup?
je ne connais malheureusement de SQL que les requetes basiques SELECT, UPDATE etc...
donc si une ame charitable voulait bien m'aider Merci d'avance.
LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 20131 30 janv. 2008 à 15:57
Salut brunews,
merci de me guider! je viens de lire pas mal de choses rapidement sur BULK INSERT et a priori on peut insérer des données en bloc dans une table
ce qui repondrait a ma problématique... mais j'ai vu que c'était à partir d'un fichier hors moi je dois faire ca a partir d'une structure C++.
je vais continuer à lire des forums et des aides dessus mais si tu pouvais STP, m'aiguiller encore un peu plus ca serait magnifique
gvollant
Messages postés22Date d'inscriptionmardi 3 mars 2009StatutMembreDernière intervention 3 mars 200913 5 févr. 2008 à 05:28
Il peut aussi être utile d'envoyer un tableau en XML (via OPENXML dans le code SQL) à une procédure stockée. Utile si vous envoyez un tableau à usage unique