Witam,
Chciałbym zrobić program do sprawdzania obecności. Wpisuje datę rozpoczęcia, datę zakończenia - na tej podstawie obliczam ilość dni pomiędzy datami i tyle kolumn tworzę w MySql'u. Taki jest plan, natomiast realizacja...
W tem sposób obliczam różnice dni:
private void dateTimePicker_End_Date_ValueChanged(object sender, EventArgs e)
{
DateTime Start = dateTimePicker_Start_Date.Value.Date;
DateTime End = dateTimePicker_End_Date.Value.Date;
TimeSpan TS = End - Start;
int Days = TS.Days;
label_Display_Days.Text = Days.ToString();
}
W ten sposób generuję listę dni pomiędzy dwoma datami i wyświetlam ją w listBoxie
private void button1_Click(object sender, EventArgs e)
{
DateTime dt1 = dateTimePicker_Start_Date.Value;
DateTime dt2 = dateTimePicker_End_Date.Value;
if (dt1 == dt2) {MessageBox.Show("Wrong Date !");}
else if (dt1 > dt2){MessageBox.Show("Wrong Date !");}
else
{
listBox1.Items.Clear();
listBox1.Items.Add(dt1);
while (dt1 < dt2)
{
dt1 = dt1.AddDays(1);
listBox1.Items.Add(dt1);
}
}
}
Tak tworzę nową tabelę w MySql
static public void save_make_new_table_after(string New_Project_Name_textbox)
{
try
{
if (connection.State == ConnectionState.Closed)
connection.Open();
string NewTableColumns = "ID INT NOT NULL AUTO_INCREMENT, First_Name VARCHAR(15) NOT NULL, Last_Name VARCHAR(15) NOT NULL,";
MySqlCommand Create_table = new MySqlCommand(@"CREATE TABLE " + New_Project_Name_textbox + " (" + NewTableColumns + " PRIMARY KEY (id)) COLLATE='utf8_general_ci' ENGINE=InnoDB;", connection);
Create_table.ExecuteNonQuery();
}
catch (MySqlException exception)
{
MessageBox.Show(exception.ToString());
}
finally
{
connection.Close();
}
}
Czy ktoś zna sposób aby na podstawie działania, lub listy którą wyświetalm obecnie w ListBoxie utworzyć dokładnie tyle kolumn w tabeli MySQL nazwanych dniami dni pomiędzy datą Start i datą Stop?