2012-01-13 5 views
3

Я хочу найти текущий день недели в C# ASP.Net как:Найти текущий день недели в C# ASP.Net

System.DateTime.Now.DayOfWeek.ToString(); 

Этот код хорошо работает в консольном приложении, но когда я пытаюсь сохранить значение этой строки в строке на веб-сайте ASP.Net не возвращает ничего.

Может ли кто-нибудь помочь?

StringBuilder message = null; 

protected void Page_Load(object sender, EventArgs e) 
{ 
    var dayofweek = System.DateTime.Now.DayOfWeek.ToString(); 
    String conn = "Data Source=.;Initial Catalog=OCSI;Integrated Security=True";//conne 
    SqlConnection sqlconne = new SqlConnection(conn); 

    string selectSQL = "SELECT lec FROM schedule WHERE [day]='" + dayofweek +"'"; 
    SqlCommand cmd = new SqlCommand(selectSQL, sqlconne); 
    SqlDataReader reader = null; 
    try 
    { 
     sqlconne.Open(); 
     reader = cmd.ExecuteReader(); 
     message = new StringBuider(); 
     while (reader.Read()) 
     { 
      message.Append(reader["lec"].ToString()); 
      //question what are you using message for ...? 
      Label3.Text = dayofweek; 
     } 
     reader.Close(); 
    } 
    catch (Exception ex) 
    { 
     Response.Write(ex.Mesage); 
    } 
    finally 
    { 
     sqlconne.Close(); 
     // you neeed to Dispose of all other objects here too 
     // StringBuilder Object 
     // SqlDataReader Object 
     //SqlCommand Object.. 
     //Look into wrapping your Connection/Command Sql Dataobject around a using() {} 
    } 

Я хочу использовать текущий день в том, где пункт SQL запрос, чтобы получить данные, относящиеся к текущему дню из таблицы базы данных.

Я вар, как

protected void Page_Load(object sender, EventArgs e) 
{ 
    String conn = "Data Source=.;Initial Catalog=OCSI;Integrated Security=True";//conne 
    SqlConnection sqlconne = new SqlConnection(conn); 

    var testDay = DateTime.Now.DayOfWeek.ToString(); 

    // string selectSQL = "SELECT lec FROM schedule WHERE [day]='" + dayofweek +"'"; 
    string selectSQL = string.Format("SELECT lec FROM schedule WHERE [day]= {0}", testDay); 
    SqlCommand cmd = new SqlCommand(selectSQL, sqlconne); 
    SqlDataReader reader; 
    try 
    { 
     sqlconne.Open(); 
     reader = cmd.ExecuteReader(); 

     while (reader.Read()) 
     { 
      message += reader["lec"].ToString(); 

      Label3.Text = testDay; 
     } 
     reader.Close(); 
    } 
    catch 
    { 
    } 
    finally 
    { 
     sqlconne.Close(); 
    } 
+5

Пожалуйста, ваш код, который не работает. – AaronS

+0

Что значит хранить его в строке? – rerun

+0

System.DateTime.Now.DayOfWeek.ToString(); наиболее определенно должен работать в приложении ASP.NET. Можете только повторить то, что сказал @AaronS, пожалуйста, напишите свой код, который не сработает :) –

ответ

0

, если все работает хорошо, когда вы удалите, где положение, то изменить, где положение, чтобы быть что-то вроде этого

string selectSQL = string.Format("SELECT lec FROM schedule WHERE dbo.schedule.day = {0} ", testDay); 

Я бы также изменил название дня поля на что-то вроде DayName или что-то, если день - это зарезервированное слово, не используйте его. взгляда на этой ссылку для зарезервированных слов в SQL Reserved SQL Words

3

Wep страница значение определяется как общественности, статический или собственности ..

если вы пишете

var testDay = DateTime.Now.DayOfWeek.ToString(); 

результаты будут = " пятница ";

+0

он не получил var! Тип или пространство имен var не удалось найти, это ошибка! – Skylark555

+0

@ Skylark555 - 'var' - это ключевое слово, введенное в C# 3.0 - если вы используете VS 2005 или перед тем, как не сможете его использовать. – Oded

+1

@DJKRAZE. Пятница означает пиво! ;) –

5

Это прекрасно работает для меня.

enter image description here

+0

тоже отлично поработал ... возможно, он ничего не делает правильно – MethodMan

+0

Тогда что может быть проблемой с моим кодом? – Skylark555

+0

@ Skylark555: Да, это было из страницы asp.net. – Shyju

0

попробовать также изменив строку SQL для этого

string selectSQL = 
    string.Format("SELECT lec FROM schedule WHERE [day]= {0}", dayofweek); 
+0

Это не работает. – Skylark555

0

как целое значение (система устанавливает воскресенье это как 0) =

int day = (int)DateTime.Now.DayOfWeek; 
Смежные вопросы