我正在嘗試將多個日期插入到Access數據庫中。 代碼中,我用它來做到這一點是這樣的:將Monthcalendar中的多個日期插入Access-mdb
string start = monthCalendar1.SelectionRange.Start.ToShortDateString();
string end = monthCalendar1.SelectionRange.End.ToShortDateString();
DateTime startDay = Convert.ToDateTime(start);
DateTime endDay = Convert.ToDateTime(end);
_startDate = startDay;
_endDate = endDay;
do
{
var VacationDate = _startDate.ToShortDateString();
var VacationStart = DateTime.MinValue.ToShortTimeString();
var VacationEnd = DateTime.MinValue.ToShortTimeString();
var VacationPause = DateTime.MinValue.ToShortTimeString();
var Worktime = "08:00";
var Comments = "on Vacation";
command.Parameters.AddWithValue("Date", VacationDate);
command.Parameters.AddWithValue("Start", VacationStart);
command.Parameters.AddWithValue("End", VacationEnd);
command.Parameters.AddWithValue("Pause", VacationPause);
command.Parameters.AddWithValue("Worktime", Worktime);
command.Parameters.AddWithValue("Comments", Comments);
command.CommandText = "insert into " + user + " (Date, Start, End, Pause, Worktime, Comments) values (@Date, @Start, @End, @Pause, @Worktime, @Comments)";
command.Connection = con;
command.ExecuteNonQuery();
string query = "select * from " + user;
command.CommandText = query;
OleDbDataAdapter Daten = new OleDbDataAdapter(command);
DataTable Datenquelle = new DataTable();
Daten.Fill(Datenquelle);
dataGridView1.DataSource = Datenquelle;
dataGridView1.AllowUserToResizeColumns = true;
dataGridView1.AllowUserToResizeRows = true;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
int totalRowHeight = dataGridView1.ColumnHeadersHeight;
foreach (DataGridViewRow row in dataGridView1.Rows)
totalRowHeight += row.Height;
dataGridView1.Height = totalRowHeight;
this.Height = dataGridView1.Height + 100;
_startDate = _startDate.AddDays(1);
}
while (_startDate <= _endDate);
{
Debug.WriteLine(startDay);
startDay = startDay.AddDays(1);
}
到目前爲止我的代碼似乎工作,這樣我可以補充說,三個日期,如果你選擇在MONTHCALENDAR三個日期。 但我沒有得到實際的日期。我得到的只是,例如,在我的數據庫中有三個以下條目與同一日期。 (這是開始日期)
也許我只是爲了codeblind現在看到我的錯誤....如果有人可以啓發我爲什麼它只插入我的初始startDate而不是以下選定的日子,我會非常感激。 :)
在此先感謝大家的回答。
*「3條以下條目」* ...他們似乎已經迷路了。 - 爲什麼你在INSERT記錄的循環中有SELECT查詢?事後不該來嗎? – Andre
@ Andre451感謝您的評論。 這只是我實際編碼的一部分。我有選擇查詢已經上面的方式來啓動我的數據網格。但我想用新的條目刷新數據網格,所以我在INSERT之後做了一個SELECT來正確顯示新數據。 (也許有更好的方法來做到這一點?我仍然很新的編碼,特別是與數據庫工作):D – scitch
您定義Vacationday,但插入VacationDate – Johanness