【发布时间】:2019-12-02 11:59:06
【问题描述】:
我想取回开始和结束之间的所有日期以及开始和结束本身。由于某种原因,结果只显示开始和结束和结束之间的日期,但不显示开始。
我试图切换更大的然后,更小的然后是相等的符号,因为我无法解释错误应该在哪里
这是事件代码:
private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
{
string language = System.Globalization.CultureInfo.CurrentCulture.Name;
if (!(language == "de-DE"))
{
if (language == "es-ES")
{
}
else if (language == "en-GB")
{
DateTime start = monthCalendar1.SelectionStart;
DateTime end = monthCalendar1.SelectionEnd;
MySqlConnection conn = DBUtils.GetDBConnection();
conn.Open();
MySqlDataAdapter adapterid;
DataTable dtschichten = new DataTable();
MySqlCommand feedid = conn.CreateCommand();
feedid.CommandText = "SELECT id, datum, atotal, ptotal, total FROM arbeitszeiten WHERE fullname = '" + comboBox1.Text + "' and active = 'NEIN' and datum >= '" + start + "' and datum <= '" + end + "'";
adapterid = new MySqlDataAdapter(feedid);
adapterid.Fill(dtschichten);
dtschichten.Columns["id"].ColumnName = "ID";
dtschichten.Columns["datum"].ColumnName = "Shiftdate";
dtschichten.Columns["atotal"].ColumnName = "Worktime";
dtschichten.Columns["ptotal"].ColumnName = "Breaktime";
dtschichten.Columns["total"].ColumnName = "Total time";
BindingSource bSourceschichten = new BindingSource();
bSourceschichten.DataSource = dtschichten;
dataGridView.DataSource = bSourceschichten;
adapterid.Update(dtschichten);
DataGridViewColumn column = dataGridView.Columns[0];
column.Width = 30;
conn.Close();
}
else
{
MessageBox.Show("Your language setting is currently not supported" + "\n" + "Please change your primary language setting for Windows" + "\n" + "\n" + "The Programm will shut down now !", "Critial Failure", MessageBoxButtons.OK, MessageBoxIcon.Stop);
this.Close();
}
}
else
{
DateTime start = monthCalendar1.SelectionStart;
DateTime end = monthCalendar1.SelectionEnd;
MySqlConnection conn = DBUtils.GetDBConnection();
conn.Open();
MySqlDataAdapter adapterid;
DataTable dtschichten = new DataTable();
MySqlCommand feedid = conn.CreateCommand();
feedid.CommandText = "SELECT id, datum, atotal, ptotal, total FROM arbeitszeiten WHERE fullname = '" + comboBox1.Text + "' and active = 'NEIN' and datum >= '" + start + "' and datum <= '" + end + "'";
adapterid = new MySqlDataAdapter(feedid);
adapterid.Fill(dtschichten);
dtschichten.Columns["id"].ColumnName = "ID";
dtschichten.Columns["datum"].ColumnName = "Schichtdatum";
dtschichten.Columns["atotal"].ColumnName = "Arbeitszeit";
dtschichten.Columns["ptotal"].ColumnName = "Pausenzeit";
dtschichten.Columns["total"].ColumnName = "Zeit gesammt";
BindingSource bSourceschichten = new BindingSource();
bSourceschichten.DataSource = dtschichten;
dataGridView.DataSource = bSourceschichten;
adapterid.Update(dtschichten);
DataGridViewColumn column = dataGridView.Columns[0];
column.Width = 30;
conn.Close();
}
}
【问题讨论】:
-
“显示开始和结束之间的日期和结束但不开始之间的日期”是什么意思?
-
请阅读 SQL 参数。您的代码容易受到 SQL 注入攻击。
-
我希望结果显示在数据网格视图中。例如,如果我选择 22.07 作为开始和 25.07 作为结束,我会显示 23.07、24、25 但不是 22.07 条目
-
"您的代码容易受到 SQL 注入攻击。" oookay.. 它有什么问题?
-
您的表中是否有 22.07 的条目?