해결 방법을 찾을 수 없다는 문제점이 있습니다. 아래 그림과 같이 이벤트 목록을 표시하는 gridView가 있습니다. 내가 원하는 것은 "eventEndDate"열 값을 현재 날짜와 비교하여 마지막 열 "eventStatus"를 업데이트하는 것입니다. GridView C#에서 열 행 업데이트
그래서,이 데이터베이스를 통해 읽고 다음과 같은 "EventEndDate"의 값을 얻기 위해 while 루프를 추가 :
while (reader.Read())
{
result.Add(reader.GetValue(4).ToString());
}
reader.Close();
그런 다음, load 메소드 내도 나는이 코드를 추가 :
string currentDate = DateTime.Now.ToString("MMMM/d/yyyy");
//endDate = DateTime.Now.ToString("MMMM/d/yyyy");
//TextBox1.Text = Session["CountryName"].ToString();
country = Session["CountryName"].ToString();
SqlDataSource1.SelectCommand = "SELECT * FROM EventsEnglish WHERE CountryName ='" + country + "'";
SqlDataSource1.DataBind();
foreach (var lastDay in result)
{
string lastDayDate = Convert.ToDateTime(lastDay).ToString("MMMM/d/yyyy");
if (DateTime.ParseExact(lastDayDate, "MMMM/d/yyyy", CultureInfo.InvariantCulture) > DateTime.ParseExact(currentDate, "MMMM/d/yyyy", CultureInfo.InvariantCulture))
{
SqlDataSource1.UpdateCommand = "UPDATE EventsEnglish SET EventStatus = Open";
SqlDataSource1.DataBind();
}
else
{
SqlDataSource1.UpdateCommand = "UPDATE EventsEnglish SET EventStatus = Close";
SqlDataSource1.DataBind();
}
문제는, 어떤 오류 메시지도 표시되지 않지만 이벤트 상태가 업데이트되지 않습니다 ... 그래서 내가 뭘 잘못하고 있니 ???
EventStatus 열의 데이터 형식은 무엇입니까? UPDATE EventsEnglish SET EventStatus = Close' 데이터 형식이 varchar이면 오류가 발생합니다. '(작은 따옴표)는 – jayvee
입니다. nvarchar (MAX) – user3599431
이것은 실제 문제가있는 것 같습니다! thnx – user3599431