2017-06-21 11 views
-1

おはよう。 私はasp.net/c#/linq/etcの初心者です。私はそれをすべて理解しようとしています。 しかし、小さなプロジェクトを1つ実行する必要があります。テキストボックスの文字列をSQLのdatetime列に変換します

私の見解では、datetime/string値のテーブルがあり、この値をmssqlデータベースに挿入する必要があります。

私はいくつかのHtml.TextBoxを持っています。ボタンをクリックすると、TextBoxは現在の日時で塗りつぶされます。 ビューヘッダー(JS):

<script type="text/javascript"> 
     function setDate(boxID) { 
      var dateNow = new Date(); 
      var dd = dateNow.getDate(); 
      var mm = dateNow.getMonth() + 1; 
      var yy = dateNow.getFullYear(); 
      var hh = dateNow.getHours(); 
      var MM = dateNow.getMinutes(); 
      var ss = dateNow.getSeconds(); 
      if (dd < 10) { dd = '0' + dd } 
      if (mm < 10) { mm = '0' + mm } 
      if (MM < 10) { MM = '0' + MM } 
      if (ss < 10) { ss = '0' + ss } 
      var today = dd + '-' + mm + '-' + yy + ' ' + hh + ':' + MM + ':' + ss; 
      document.getElementById(boxID).value = today; 
     } 
    </script> 

ビュー本体:

<div class="divTableCell"> 
    @Html.TextBox("p1_t1") 
    <input type="button" value="OK" onclick='setDate("p1_t1")' /> 
</div> 
<div class="divTableCell"> 
    @Html.TextBox("p1_notice") 
</div> 
<button id="result "type="submit">Insert data</button> 

私は外部のデータベースにこの値を挿入しようとしている最後のボタンをクリックします。表に列p1_notice varchar(250)とp1_t1 datetimeが含まれています。

コントローラー:

public ActionResult EntranceInspection() 
{ 
    return View(); 
} 

EntranceInspectionTableDataContext d = new EntranceInspectionTableDataContext(); 

public ActionResult EntranceInspectionResult() 
{ 

    EntranceInspection s = new EntranceInspection(); 
    s.p1_notice = Request["p1_notice"]; // to SQL - ok 
    s.p1_t1 = Request["p1_t1"]; // error convert string to datetime 
    d.EntranceInspection.InsertOnSubmit(s); 
    d.SubmitChanges(); 
    return View("EntranceInspection"); 
} 

日時にテキストボックスに値を変換し、日時列に挿入する任意の許容可能な方法はありますか?あるいは、私は最初に何か別のことをする必要がありますか?

Thxを

+0

s.p1_t1 = Convert.ToDateTime(Request ["p1_t1"]);を使用するだけです。 – Krishna

+0

ありがとう、それは私のために働く。 – scabb

+0

あなたは歓迎です – Krishna

答えて

-2

あなたは以下のような日時にテキスト値をキャスト入力する必要があり、次のコード、

public ActionResult EntranceInspectionResult() 
    { 
     EntranceInspection s = new EntranceInspection(); 
     s.p1_notice = Request["p1_notice"]; // to SQL - ok 
     s.p1_t1 = Convert.ToDateTime(Request["p1_t1"]); 
     d.EntranceInspection.InsertOnSubmit(s); 
     d.SubmitChanges(); 
     return View("EntranceInspection"); 
    } 
0

を試すことができます。

s.p1_t1 = Convert.ToDateTime(Request["p1_t1"]); 

これは、datetime値をエラーなしでデータベースに挿入するのに役立ちます。

0

あなたは、このように日時にテキスト値を変換する必要があります。

s.p1_t1 = Convert.ToDateTime(Request["p1_t1"]); 

これはエラーなしでデータベースにdatetime値を挿入するのに役立ちます。しかし、おそらくデータベースにフィールドがnullabeでない場合、p1_t1がnull値を持たないことを保証するのに役立つでしょう。 nullabeの場合は、あなたのビジネスに論理的なdateminの値またはその他の値を挿入する必要があります。

+0

thx、null値のために私はDateTimeで関数を追加しましたか?ヌルをチェックする型。 – scabb

関連する問題