Не могу понять в чем проблема. При изменении dateTimePicker таблица не меняется. Может нужно получить дату dateTimePicker.Text, а потом конвертировать. Если так, то как сконвертировать? Я начинающий програмист, так что сильно не бейте и проявите терпение)) | Код | public partial class School : Form { DataBaseConnect dbs = new DataBaseConnect(); DateTime DateNow; string DateCondition = " WHERE students.exam = @DateNow";
public School() { InitializeComponent(); DateNow = dateTimePicker1.Value.Date; dbs.ExamGrid(DateNow, DateCondition); dataGridView1.DataSource = dbs.dataSet.Tables["Exam"]; }
// Перезаполнение dataGridViewExam private void DataExam() { dbs.dataSet.Tables["Exam"].Clear(); DateNow = dateTimePicker1.Value.Date; MessageBox.Show(DateNow.ToString()); dbs.ExamGrid(DateNow, DateCondition); dataGridView1.DataSource = dbs.dataSet.Tables["Exam"]; }
private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked) { dateTimePicker1.Enabled = false; DateCondition = ""; DataExam();
} else { dateTimePicker1.Enabled = true; DateCondition = " WHERE students.exam = @DateNow"; DataExam(); } }
private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { DataExam(); }
private void ExitToolStripMenuButton_Click(object sender, EventArgs e) { Application.Exit(); } }
|
| Код | class DataBaseConnect { string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\Жоржик\\Desktop\\School\\School.mdb"; OleDbConnection connect = new OleDbConnection(); public OleDbCommand command = new OleDbCommand(); public OleDbDataAdapter adapter = new OleDbDataAdapter(); public DataSet dataSet = new DataSet(); /// <summary> /// Подключение к базе данных /// </summary> /// <param name="commandText">SQL запрос</param> public void Connect(string commandText) { try { connect.ConnectionString = connectionString; command.CommandText = commandText; command.Connection = connect; connect.Open(); adapter.SelectCommand = command; } catch { MessageBox.Show("Нет соединения с базой данных. Обратитесь к системному администратору"); } finally { connect.Close(); } }
/// <summary> /// Заполнение DataSet таблицей Exam /// </summary> public void ExamGrid(DateTime DateNow, string condition) { string commandTextExam = "SELECT students.exam AS Экзамен, students.name_s AS Курсант, students.autodrome AS Автодром, students.city AS Город, " + "[students]![autodrome]+[students]![city] AS Общее, teacher.name_t AS Инструктор " + "FROM teacher INNER JOIN students ON teacher.id_t = students.id_t" + condition; if (condition != "") { command.Parameters.Add("@DateNow", OleDbType.Date).Value = DateNow; } Connect(commandTextExam); adapter.Fill(dataSet, "Exam"); } }
|
|