Click here to Skip to main content
15,879,239 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Database Strucure as follows in Ms Access

C#
fieldname   Datatype 
Hokiday     Datetime
Reason      Text


Holiday Reason (table Name Leave) In Ms Access
20/2/2013 Labour Day
25/2/2013 Holiday

When i select the calendar that month all dates will display in datagridview using csharp.

And also user did not able to select the sunday date in that month.

for the above two condition i written a code as follows;


C#
DGVCalendar.Rows.Clear();
DateTime dt1 = Faculty_Available_Calendar.SelectionStart;
dt1 = new DateTime(dt1.Year, dt1.Month, 1);
DateTime dt2 = dt1.AddMonths(1);
int numDays = (dt2 - dt1).Days;
if (DGVCalendar.RowCount < numDays)
{
DGVCalendar.RowCount = numDays;
}
 
int row = 0;
while (dt1 < dt2)
{
 
DGVCalendar.Rows[row].Cells[1].Value = dt1.ToString("dd-MMM-yyyy");
DGVCalendar.Rows[row].Cells[0].Value = true; 
 
if (dt1.DayOfWeek == DayOfWeek.Sunday)
{
DGVCalendar.Rows[row].ReadOnly = true;
DGVCalendar.Rows[row].Cells[0].Value = false;
DGVCalendar.Rows[row].Cells[0].Style.BackColor = Color.Orange;
DGVCalendar.Rows[row].Cells[1].Style.BackColor = Color.Orange;
DGVCalendar.Rows[row].Cells[2].Style.BackColor = Color.Orange;
DGVCalendar.Rows[row].Cells[2].Value = "Sunday";
 
}
dt1 = dt1.AddDays(1);
row++;
}

I want to check another condition selected date in datagridview is present in another Table.

if user select the 20/2/2013 (the above date in datagridview)
using checkbox user select the 20/2/2013 Date,
shows the message "select date is not allowed"

because the date 20/2/2013 is present in the Leave Table.

For the above condition i written the code as follows;

C#
sql = "select Reason from Leave where Holidaydate = '" +   DGVCalendar.Rows[row].Cells[1].ToString() + "'";
               OleDbCommand cmd = new OleDbCommand(sql, GFun.OleDbCon);
               OleDbDataReader dr = cmd.ExecuteReader();
               if (dr.Read())
               {
                   DGVCalendar.Rows[row].Cells[1].Style.BackColor = Color.Blue;
                   DGVCalendar.Rows[row].Cells[2].Value = dr[0].ToString();
               }

Because that date is in Leave Table.

When i run shows error as follows;

Data type mismatch in criteria expression.

from my above in that condition what is the mistake i made.


Please help me.

Regards,
Narasiman P
Posted
Updated 22-Feb-13 22:54pm
v2
Comments
[no name] 23-Feb-13 5:01am    
please replay answer for my question.

i tried but it is not working.

please help me.

Thanks,
Narasiman P.

1 solution

Dates must be delimited by '#' characters : 1 feb 2013 = #2/1/2013#.
Also note that the format is mm/dd/yyyy.

See this article for more details.

Cheers
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900