Reputation: 1027
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
this is my Global.riyeder
public static OleDbDataReader riyeder(string kalimatSql) {
dbCmd.CommandText = kalimatSql;
return dbCmd.ExecuteReader();
}
Upvotes: 0
Views: 796
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
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