2010-05-15 5 views
2

Comment puis-je comparer le jour dans la base de données d'accès à un jour donné dans C#? La colonne de date dans la base de données est une date générale (jour/mois/année)Date de comparaison dans la base de données d'accès

  try 
     { 

      database = new OleDbConnection(connectionString); 
      database.Open(); 
      date = DateTime.Now.ToShortDateString(); 
      string queryString = "SELECT user_name,zivila.naziv " 
       + "FROM (users LEFT JOIN obroki_save ON obroki_save.ID_uporabnika=users.ID)" 
       + " LEFT JOIN zivila ON zivila.ID=obroki_save.ID_zivila " 
       + " WHERE users.ID= " + a.ToString() + " AND obroki_save.datum=# " + date; 
      loadDataGrid(queryString); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
      return; 
     } 

Répondre

1

Vous avez besoin d'un dièse (#) après la date aussi littérale. Vous devrez peut-être également spécifier une culture lors du formatage de la date pour qu'elle corresponde à ce que la base de données attend, ou utiliser une chaîne de format spécifique. Cependant, vous devriez plutôt utiliser des paramètres que d'insérer la valeur dans la requête. Ensuite, vous n'avez pas à vous inquiéter d'obtenir le format de date pour correspondre à ce que la base de données peut s'attendre.

+0

Comment utiliser les paramètres? – Simon

+0

@Simon: L'objet de commande possède une collection 'Paramaters' dans laquelle vous ajoutez des paramètres et leurs valeurs, vous pouvez ensuite utiliser les paramètres dans la requête. – Guffa