0
DataTable dt1 = new DataTable();
            dt1.Columns.Add("studid",typeof(int));
            dt1.Columns.Add("rollno", typeof(int));
            dt1.Columns.Add("date", typeof(DateTime));
            dt1.Columns.Add("starttime", typeof(string));
            dt1.Columns.Add("class", typeof(string));
            dt1.Columns.Add("section", typeof(string));
            dt1.Columns.Add("subject", typeof(string));

            for (int i = 0; i < dt.Rows.Count; i++)
            {               
                dt1.Rows.Add(Convert.ToInt32(dt.Rows[i]["id"]), Convert.ToInt32(dt.Rows[i]["rollno"]), Convert.ToDateTime(txtdate.Text),time.SelectedItem.ToString(), drpclass.SelectedItem.ToString(), drpsection.ToString(), drpsubject.SelectedItem.ToString());
            }

DataTable の列のデータ型が文字列"String was not recognized as a valid DateTime"であっても、エラーが発生します。time.SelectedItem.ToString()ブレークポイントを適用し09:30:00ました。これは、取得している値ですtime.SelectedItem.ToString()

4

3 に答える 3

3

入力 '09:30:00' は時間のみを言及していますが、対応する列のデータ型は DateTime であり、入力には日、月、年が含まれています。

(ドロップダウンリストであると仮定します)したがって、時間を文字列で取得するには、次の手順を実行します。

string mytime=  DateTime.Parse(DropDownlist.SelectedItem.Text.ToString()).ToShortTimeString();
于 2013-03-15T11:16:00.443 に答える
1

stringエラー メッセージは、値を に変換する際の問題を示しているようDatetimeです。

この変換が行われる唯一の場所は、

Convert.ToDateTime(txtdate.Text)

ライン。txtdateの値を再確認して、有効な日付であることを確認できますか。

于 2013-03-15T10:49:49.653 に答える
0

このフィールドtxtdate.Textの値 問題が発生している可能性があります。

あなたはこれをやっています

 Convert.ToDateTime(txtdate.Text)

そのため、TextBox に日付形式以外の異なる値が含まれている場合。その後、エラーがスローされます。

于 2013-03-15T10:48:43.153 に答える