Я полностью новичок из С#, и в настоящее время я использую VS 2013 и базу данных доступа, и я пытаюсь вставить несколько записей, но моя проблема заключается в том, что я хочу вставить значение даты, выбранной командой выбора даты, чтобы вставить, и это автоматически прирост на день. Я пытался сделать код на основе того, что я узнал... и у него есть небольшая проблема
в моей базе данных я хочу вставить 10 нескольких записей, используя для цикла, и то, что происходит в моей попытке, было именно этим
EID date
---------------
10175 10/9/14
10175 10/9/14
10175 10/9/14
10175 10/9/14
10175 10/9/14
10175 10/9/14
10175 10/9/14
10175 10/9/14
10175 10/9/14
10175 10/9/14
Я хочу, чтобы это произошло:
EID date
----------------
10175 10/9/14
10175 10/10/14
10175 10/11/14
10175 10/12/14
10175 10/13/14
10175 10/14/14
10175 10/15/14
10175 10/16/14
10175 10/17/14
10175 10/18/14
здесь мой код, кстати, мой EID не является основным, поэтому я не против дубликатов
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
int ctr = 0;
int counter;
counter =int.Parse(TimeIntxt.Text);
String counter2;
for (ctr=0; ctr<10;ctr++ )
{
counter++;
counter2 = dateTimePicker1.Value.AddDays(1).ToString();
command.CommandText = "insert into EmployeeData (EID,DateIn) values('" + counter + "','" + counter2 + "')";
command.ExecuteNonQuery();
}
MessageBox.Show("Success");
connection.Close();
Эта строка вашего кода counter2 = dateTimePicker1.Value.AddDays(1).ToString();
должен быть counter2 = dateTimePicker1.Value.AddDays(ctr + 1).ToString();
Кроме того, в то время как в вашем случае это не очень важно, но лучше использовать параметризованные запросы, а не команду сборки через конкатенацию, что помогает предотвратить внедрение sql.
См. MSDN для справки о параметрах команд и способах их использования.
counter2 = dateTimePicker1.Value.AddDays(ctr + 1).ToString();