Excel の開始時刻と終了時刻をデータベースに保存できないという問題が発生しました。Excelの場合、時間は「文字列」型ですが、データベースの場合は「時間」型になります。Excel の時間をデータベースに保存する方法はありますか。
データをデータベースに保存するコードは次のとおりですが、名前と日付のみを保存し、タイミングは保存しません。どんな助けでも大歓迎です。
private void btnSave_Click(object sender, EventArgs e)
{
try
{
foreach (DataRow dr in dt.Rows)
{
string strEmployee = dr["Employee Name"].ToString();
//store data into employeeshift DB
using (satsEntities db = new satsEntities())
{
ufi empShift;
IList<employeeschedule> employeeList = dict[strEmployee];
foreach (employeeschedule es in employeeList)
{
empShift = new ufi();
TimeSpan a = new TimeSpan(Convert.ToInt32(es.startTime.Substring(0,2), Convert.ToInt32(es.startTime.Substring(2,2))));
TimeSpan b = new TimeSpan(Convert.ToInt32(es.endTime.Substring(0,2), Convert.ToInt32(es.endTime.Substring(2,2))));
empShift.UFISDate = es.day;
empShift.EmployeeName = strEmployee;
empShift.startTime = a;
empShift.endTime = b;
db.ufis.AddObject(empShift);
}
db.SaveChanges();
}
}
MessageBox.Show("Data is stored to database successfully.");
}
catch (Exception ex)
{
//showMessage("UNABLE to store to database successfully.");
//show error
}
}
評判が悪いため、自分の回答を投稿できません。結局のところ、これが私のコードを機能させる私の答えです。
private void btnSave_Click(object sender, EventArgs e)
{
foreach (DataRow dr in dt.Rows)
{
string strEmployee = dr["Employee Name"].ToString();
//store data into employeeshift DB
using (satsEntities db = new satsEntities())
{
ufi empShift;
IList<employeeschedule> employeeList = dict[strEmployee];
foreach (employeeschedule es in employeeList)
{
empShift = new ufi();
TimeSpan a = new TimeSpan(Convert.ToInt32(es.startTime.Substring(0,2)), Convert.ToInt32(es.startTime.Substring(2,2)), 0);
TimeSpan b = new TimeSpan(Convert.ToInt32(es.endTime.Substring(0,2)), Convert.ToInt32(es.endTime.Substring(2,2)), 0);
empShift.UFISDate = es.day;
empShift.EmployeeName = strEmployee;
empShift.startTime = a;
empShift.endTime = b;
db.ufis.AddObject(empShift);
db.SaveChanges();
}
}
}
MessageBox.Show("Data is stored to database successfully.");
}