Bonjour,

J'effectue présentement plusieurs requêtes à une base de données et le processus d'upate/insertion de données est TRÈS lent. Je me demandais ce que je fais d'incorrect...

Note: J'ai environ 10 000 data à insérer/updater

Voici en gros ce que fait mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
foreach (CYMEXTDeviceData deviceData in mapDevice.Keys)
{
	Int32 nRowsModified = 0;
 
        String strStatement;
	OleDbCommand cmd;
 
	strStatement = "UPDATE " + DEVICE_TABLE_NAME + " SET " +
                                      "FEATURE_TYPE = '" + deviceData.FeatureType + "', " +
                                      "FEATURE_SUBTYPE = '" + deviceData.FeatureSubType + "', " +
                                      " WHERE DID = '" + deviceData.DID + "'";
 
	cmd = new OleDbCommand(strStatement, connection);
 
	try
	{
		nRowsModified = cmd.ExecuteNonQuery();
	}
	catch (OleDbException ex)
	{
		errors.CreateErrorByParsingString(StringTable.MSG_CANNOT_UPDATE, DEVICE_TABLE_NAME, ex.Message);
                nRowsModified = 0;
	}
}
J'ai lu sur les DataSet / DataTable mais je n'y ai pas compris grand chose... serait-ce la solution?

Merci!