2014-10-10 2 views
0

Я новичок из C#, и в настоящее время я использую C# vs 2013 и базу данных доступа MS .. Я пытаюсь сделать вставки mulitple и в то же время пытаюсь попробовать foreach .. У меня есть 2 таблицы в доступс использованием foreach и нескольких строк вставки?

первый стол

EID ------ FirstName 
10175-- random names 
10176-- random names 
10177-- random names 
10178 --random names 
10179 --random names 
10180 --random names 

второй стол

index--- EID-----Date(index is autonumber type) 
1-------10175----10/10/2014 
2-------10175----10/11/2014 
3-------10175----10/12/2014 
4-------10175----10/13/2014 
5-------10175----10/14/2014 
6-------10175----10/15/2014 
7-------10175----10/16/2014 
8-------10175----10/17/2014 
9-------10175----10/18/2014 
10------10175----10/10/2014 

, что я хотел, чтобы случиться было, когда я нажимаю кнопку, я хочу, чтобы вставить 10 записей даты на 2-та BLE ДЛЯ КАЖДОЙ ЭИД на первом table..here в мой код для цикла 10 записей для 10175

 connection.Open(); 
     OleDbCommand command = new OleDbCommand(); 
     command.Connection = connection; 
     int ctr = 0; 
     int counter; 
     counter = int.Parse(TimeIntxt.Text);//I just use textbox for test i want this to be autogenerate based on the number of EID on first table 
     String counter2; 
     for (ctr = 0; ctr < 10; ctr++) 
     { 
      counter++; 
      counter2 = dateTimePicker1.Value.AddDays(ctr + 1).ToString(); 

      command10.CommandText = "insert into EmployeeData (EID,DateIn) values('" + counter + "','" + counter2 + "')"; 
      command10.ExecuteNonQuery(); 
     } 

     MessageBox.Show("successfully created"); 
     connection.Close(); 


Очень благодарен тем, кто поможет me..I'm извините, если мой английский не очень беглый YY

+0

Похоже, что вы захотите использовать «OleDbDataReader» для прокрутки строк в первой таблице. См. Соответствующий вопрос [здесь] (http://stackoverflow.com/q/12081111/2144390) для примера. –

ответ

2
connection.Open() 
OleDBCommand command = new OleDbCommand(); 
command.Connection = connection; 
command.CommandText = "SELECT EID From Table"; 

using (OleDbDataReader dr = command.ExecuteReader()) 
{ 
    while (dr.read()) 
    { 
     //new connection 
     for(var i = 0;i < 10;i++) 
     { 
      //insert (int)dr["EID"] into 2nd table 
     } 

    } 
} 
+0

Хорошо, я попробую сделать это. Большое спасибо –

+0

Почему SqlDataReader в моем коде, который вы даете, все еще находится на красных линиях ниже, я знаю, что это означает, что я пропустил что-то там? –

+0

попытался изменить SqlDataReader с OleDbDataReader и dr.read() на этот раз становится красным –

Смежные вопросы