2015-03-19 2 views
0

У меня проблема с обновлением базы данных доступа.Access OleDB C# Update

Код:

string CheminSmx = CheminFirm + "\\Cht\\SMX.mdb"; 
string cmd = "UPDATE XRealMX SET [Montant HT] = @prix WHERE [Code RX] = @bl;"; 
OleDbConnection CONNEXION_BASE = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + CheminSmx); 
using (CONNEXION_BASE) 
{ 
    try 
    { 
     //On ouvre la cnx à la base 
     CONNEXION_BASE.Open(); 

     //Creation d'un commande (requette) de lecture 
     using (OleDbCommand COMMANDE = CONNEXION_BASE.CreateCommand()) 
     { 
      COMMANDE.CommandText = cmd; 
      Prix = float.Parse(Prix.ToString().Replace(',', '.'), CultureInfo.InvariantCulture.NumberFormat); 
      COMMANDE.Parameters.AddWithValue("@prix", Prix); 
      COMMANDE.Parameters.AddWithValue("@bl", numBL); 
      COMMANDE.Connection = CONNEXION_BASE; 
      COMMANDE.ExecuteNonQuery(); 
     } 
    } 
    catch { } 
    CONNEXION_BASE.Close(); 
} 

Этот код не обновляет свою базу данных. Я не знаю почему.

Может кто-нибудь помочь мне с этим?

+0

У вас есть какие-либо исключения или сообщение об ошибке? Какова ценность 'Prix' и' numBL' точно? Каковы типы столбцов «Montant HT» и «Code RX»? И вам не нужна строка 'COMMANDE.Connection = CONNEXION_BASE;', поскольку вы создали свою команду на основе метода CreateCommand. –

+1

@ SonerGönül, если у него есть исключение, он не может его увидеть. Удалите пустой try/catch, иначе исключение будет «проглочено», и вы не сможете ничего знать о своей проблеме. (По крайней мере, распечатать сообщение об исключении - 'catch (Exception ex) Console.WriteLine (ex.Message)' – Steve

+0

Удалить из строки cmd – user4340666

ответ

0

Мой код является правильным. Это сработало. Но переменная «CheminFirm» имеет неправильное значение.

Данные в моей базе данных не очень хорошие, поэтому я проверил значение и после его обработки.

Смежные вопросы