2012-04-05 15 views
0

私はasp.netアプリケーションを持っており、Entity Frameworkを使用してデータベースに接続しています。このアプリケーションでは、日付を取得するためのテキストボックス(ここではカレンダーCSSスタイルを使用しています)とその文字列タイプを取得しています。文字列をdatetimeに変換する

私は、データベース内の列を持っているし、その日付時刻形式で、私はちょうど例えば

public StudentAttendances(string date) 
    { 
     if (date != "") 
     { 
      DateTime date1 = Convert.ToDateTime(date); 

      foreach (DataAccess.StudentAttendance studentAttendance in buDataEntities.StudentAttendances.Where(s => s.Date == date1)) 
      { 
       this.Add(new StudentAttendance(studentAttendance.StudentId)); 
      } 
     } 
    } 

ようなコードを使用し、このために、私のデータベースの日付列でテキストボックスの値を比較する必要がありますテキストボックスで日付を選択すると(2012年4月5日の形式)、これをデータベースと比較するとデータは表示されませんが、実際にはこの日付のデータがあります。

+2

何データベースとどのようなプログラミング言語? – Sibster

+0

非常に不明瞭な質問です。データベースサーバーからどこの日付を取得し、どのような種類の変数を格納しますか?あなたが日付を比較する行はどのように見えますか?もっとコードを表示できますか? – mortb

+0

私は質問を改造し、親切にそれをチェックし、私の疑いを明らかにする – shanish

答えて

1

を参照してみてください。このようなちょうど日の部分を比較してみてください。

buDataEntities.StudentAttendances.Where(s => s.Date.Subtract(date1).Days == 0) 

私はまた、あなたが、ユーザーからの入力日がであるどのような形式を指定する必要があることだと思う 2012年4月5日によっては月の4月4日または5日の両方を意味するかもしれません。あなたのコンピュータの地域設定。助け

DateTime date1 = DateTime.Parse(date, new CultureInfo("en-US")); 

希望:ここ は、DateTimeオブジェクトにアメリカの形式で日付文字列を変換する(下記)の例です!

+0

ur応答mortbのためにあまりにもありがとう、私は解決を得た... – shanish

+0

マークしてくださいそれはあなたのために働く場合、受け入れられた解決策:) – mortb

1

あなたのために、次の作品かどうかを確認してください:あなたが使用している

public StudentAttendances(string date) 
{ 
    if (date != "") 
    { 
     // please see the change from your given code 
     DateTime date1 = DateTime.ParseExact(date, "MM/dd/yyyy", 
            System.Globalization.CultureInfo.InvariantCulture); 

     foreach (DataAccess.StudentAttendance studentAttendance in buDataEntities.StudentAttendances.Where(s => s.Date == date1)) 
     { 
      this.Add(new StudentAttendance(studentAttendance.StudentId)); 
     } 
    } 
} 
+0

非常にあなたのur応答sarwar026に感謝し、私は解決策を得た... – shanish

+0

あなたは歓迎です@Shanish :) – sarwar026

関連する問題