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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
|
private void UpdateDataBaseNow()
{
string strError;
string delimiter = "\t";
int nbLignesTraited = 0;
int nI = 0;
m_TxtReader = new StreamReader(m_strFileToImport, m_encoding);
m_TxtReader.ReadLine(); // On lit la première ligne car elle contient les entête de colonnes
m_nNbInsert = 0;
m_nNbUpdate = 0;
m_nErrorMaj = 0;
while (m_TxtReader.Peek() >= 0)
{
string[] items = m_TxtReader.ReadLine().Split(delimiter.ToCharArray());
for (int nJ = 0; nJ <= items.Count() - 1; nJ++)
{
items[nJ] = items[nJ].Replace("'", "''");
}
// A ce stade, le tableau "items" contient tous les champs de la ligne courante
if (items.Count() >= 226)
{
string strCli_Note = items[0] +
((char)13).ToString() + "Géré par : " + items[232] +
((char)13).ToString() + "Tel abgrégé : " + items[161] +
((char)13).ToString() + "Tel : " + items[9] + " Fax : " + items[10] +
((char)13).ToString() + "Adr : " + items[2] +
((char)13).ToString() + " " + items[7] + " " + items[5] + " " + items[8] +
((char)13).ToString() + "Commercial AI : " + items[28] +
((char)13).ToString() + "Assistance : " + items[145] +
((char)13).ToString() + "Info INQUIERO : " + items[231];
// ***********************************************
// Nous sommes dans les clients/contacts/Logiciels
// ***********************************************
# region Mise à jour des clients
m_DbCommand_Clients.CommandText = "Select * from " + m_strNomTable_Client + " where clidesig = '" + items[0] + "'";
OleDbDataAdapter myDbAdapter = new OleDbDataAdapter(m_DbCommand_Clients);
DataSet DataSet = new DataSet();
try
{
myDbAdapter.Fill(DataSet, "Vars");
DataTable dt = DataSet.Tables[0];
if (dt.Rows.Count > 0)
{
//************************************************
// La fiche CLIENT existe déja, on va la modifier
//************************************************
foreach (DataRow dr in dt.Rows)
{
// Pour chaque enregistrement trouvés, on va mettre à jour le client
m_DbCommand_Clients.CommandText = "Update " + m_strNomTable_Client + " SET cliadlig1 = '" + items[2] + "'," +
"cliadlig2 = '" + items[3] + "', cliadlig3 = '" + items[4] + "', cliadville = '" + items[5] + "'," +
"cliadcpost = '" + items[7] + "', cliadpays = '" + items[8] + "', cliadtel= '" + items[9] + "'," +
"cliadfax = '" + items[10] + "', clivendeur = '" + items[28] + "', cliactiv= '" + items[29] + "'," +
"clieffect ='" + items[30] + "', clinaf = '" + items[43] + "', cliassist = '" + items[145] + "'," +
"clicode='" + items[164] + "',cliregroup = '" + items[229] + "'" + ",clinquiero = '" + items[231] + "',"
+ "clirev_pho='" + items[102] + "',cligerepar='" + items[232] + "', clinotes ='" + strCli_Note + "'" +
" WHERE clidesig = '" + @items[0] + "'";
nbLignesTraited = m_DbCommand_Clients.ExecuteNonQuery();
if (nbLignesTraited == 0)
{
m_nErrorMaj++;
}
else
{
m_nNbUpdate += nbLignesTraited;
}
}
}
else
{
//************************************************
// La fiche CLIENT n'existe pas, on va la créer
//************************************************
m_DbCommand_Clients.CommandText = "Insert into " + m_strNomTable_Client + " (clidesig,cliadlig1,cliadlig2,cliadlig3,cliadville,cliadcpost," +
"cliadpays,cliadtel,cliadfax,clivendeur,cliactiv,clieffect,clinaf,cliassist,clicode,cliregroup,clirev_pho, cligerepar,cliinfomnt,cliinfolib," +
"clitelabrg,clinquiero,clinotes) VALUES (" +
"'" + items[0] + "'" + "," + "'" + items[2] + "'" + "," + "'" + items[3] + "'" + "," + "'" + items[4] + "'" + "," + "'" + items[5] + "'" +
"," + "'" + items[7] + "'" + "," + "'" + items[8] + "'" + "," + "'" + items[9] + "'" + "," + "'" + items[10] + "'" + "," + "'" + items[28] + "'" +
"," + "'" + items[29] + "'" + "," + "'" + items[30] + "'" + "," + "'" + items[43] + "'" + "," + "'" + items[145] + "'" + "," + "'" + items[164]
+ "'" + "," + "'" + items[229] + "'" + "," + "'" + items[102] + "'" + "," + "'" + items[232] + "'" + "," + "' '" + "," + "' '" + "," + "' '" +
"," + "'" + items[231] + "'" + "," + "'" + strCli_Note + "'" + ")";
nbLignesTraited = m_DbCommand_Clients.ExecuteNonQuery();
if (nbLignesTraited == 0)
{
m_nErrorMaj++;
}
else
{
m_nNbInsert++;
}
}
}
catch (Exception ex)
{
strError = "Erreur : " + ex.Message;
maConsole.AfficheMessage(strError);
}
} |
Partager