Surya Matadewa
Surya Matadewa

Reputation: 1027

match query datetime in database ms access

hi i have datetime format in database access like this

1/18/2014 4:14:52 PM (M/DD/YYYY h/mm/ss)

when i tried to select query whith this following code

Global.dbCon.Open();
  string kalimatsql2 = "SELECT * FROM Quiz_Occurrences WHERE Occurred = " +dt2+ " 
                            ORDER BY ID";
  Global.reader = Global.riyeder(kalimatsql2);
  if (Global.reader.HasRows) {
     while (Global.reader.Read()) {
        int idku = Convert.ToInt32(Global.reader.GetValue(0));
        MessageBox.Show(idku.ToString());
     }
  }
  Global.dbCon.Close();

it's give error result
Syntax error (missing operator) in query expression 'Occurred = 1/12/2014 4:18:59 PM'

this is my dt2 var

DateTime dt2 = (DateTime) myDataGridView.CurrentRow.Cells[3].Value;

i already check it many time...that dt has same format as datetime in database but it's still give that error result....how to query it correctly


edit

this is my Global.riyeder

public static OleDbDataReader riyeder(string kalimatSql) {
    dbCmd.CommandText = kalimatSql;
    return dbCmd.ExecuteReader();            
}

Upvotes: 0

Views: 796

Answers (2)

Vignesh Kumar A
Vignesh Kumar A

Reputation: 28403

Try like this

Global.dbCon.Open();
  string kalimatsql2 = "SELECT * FROM Quiz_Occurrences WHERE Format(DateOccurred, 'mm/dd/yyyy') = Format( '" + dt2+ "', 'mm/dd/yyyy') ORDER BY ID";
  Global.reader = Global.riyeder(kalimatsql2);
  if (Global.reader.HasRows) {
     while (Global.reader.Read()) {
        int idku = Convert.ToInt32(Global.reader.GetValue(0));
        MessageBox.Show(idku.ToString());
     }
  }
  Global.dbCon.Close();

Upvotes: 1

Siddique Mahsud
Siddique Mahsud

Reputation: 1453

You are missing single quotes for value for attribute Occurred. it should be

 string kalimatsql2 = "SELECT * FROM Quiz_Occurrences WHERE Occurred = '" +dt2+ "' 
                            ORDER BY ID";

Upvotes: 1

Related Questions