如何使用“if”条件定义变量值,然后在MS Access数据库

时间:2016-05-19 17:19:43

标签: c# vb.net datagridview

我正在尝试将数据插入MS Access数据库,我正在使用DataGridView作为DataSourceDataGridView填充了select查询,该查询从另一个数据库获取数据。

我使用DataGridView,因为我很容易使用insert循环DataGridViewRow。 我在变量中添加了一些DataRow,然后我使用两个“if”和一个“else”来从包含DataGridView值的DateTime中选择一个字段并拆分其数据我将在insert查询中使用的两个变量之间。

但是我没有从“if”获取任何值,并且变量只在数据库的一行中插入“01/01/2001 00:00:00”,因为它很快会抛出“重复值” “错误,意味着”for“循环被执行,但”if“内的条件什么都没有。 请查看我的代码,告诉我你是否能找到问题所在。 提前感谢您的关注。

<code>
private void firstLaunchBtn_Click(object sender, EventArgs e)
{
  dtGV = timeTankDGV.Rows.Count;
  lore = dtGV - 1;
  dtp = dateTimePicker1.Value;
  tiempo.Open(); 
  try
  {
    for (i = 0; i < lore; i++)
    {
      idNum = Convert.ToString(timeTankDGV.Rows[i].Cells["IdentificationNumber"].Value);
      epName = Convert.ToString(timeTankDGV.Rows[i].Cells["Name"].Value);
      idUser = Convert.ToInt32(timeTankDGV.Rows[i].Cells["IdUser"].Value);
      recordType = Convert.ToInt32(timeTankDGV.Rows[i].Cells["RecordType"].Value);
      record = Convert.ToDateTime(timeTankDGV.Rows[i].Cells["RecordTime"].Value);
      // int result1 = record.TimeOfDay- turn1Start.TimeOfDay;
      //int result2 = record.Hour.CompareTo(startLimit1.Hour);
      // int insult1=record.Hour.CompareTo(turn1End.Hour);
      //MessageBox.Show("RecordTime "+record.TimeOfDay);
      //MessageBox.Show("turno1Start "+turn1Start.TimeOfDay);
      //MessageBox.Show("start1Limit "+startLimit1.TimeOfDay);

      if (record.TimeOfDay <= turn1Start.TimeOfDay && record.TimeOfDay >= startLimit1.TimeOfDay && recordType == 0)
      {
        horaEntrada = Convert.ToDateTime(timeTankDGV.Rows[i].Cells["RecordTime"].Value);
        //horaEntrada = Convert.ToDateTime(record.ToString("yyyy-MM-dd H:mm:ss tt"));
        //MessageBox.Show("(-_-) " + horaEntrada);
      }
      else
      {
        if (record.TimeOfDay >= turn1End.TimeOfDay && recordType == 1)
        {
          horaSalida = Convert.ToDateTime(timeTankDGV.Rows[i].Cells["RecordTime"].Value);
          //horaSalida = Convert.ToDateTime(record.ToString("yyyy-MM-dd H:mm:ss tt"));
          //MessageBox.Show("(-_-) " + horaSalida);
        }
      }
      /**/

      //horaSalida = DateTime.Now;
      OleDbCommand comando = new OleDbCommand();
      comando.Connection = tiempo;
      string consulta = "insert into Horarios (IdUser,IdNumber,Nombre,Turno,RecordType,WorkHourIn,WorkHourOut)" +                         " values(@IdUser,@IdNumber,@Nombre,@Turno,@RecordType,@WorkHourIn,@WorkHourOut)";
      comando.CommandText = consulta;
      OleDbDataAdapter datos = new OleDbDataAdapter(comando);
      turno = 1;
      comando.Parameters.AddWithValue("@IdUser", idUser);
      comando.Parameters.AddWithValue("@IdNumber", idNum.ToString());
      comando.Parameters.AddWithValue("@Nombre", epName.ToString());
      comando.Parameters.AddWithValue("@Turno", turno);
      comando.Parameters.AddWithValue("@RecordType", recordType);
      //MessageBox.Show("entrada "+horaEntrada);
      comando.Parameters.AddWithValue("@WorkHourIn", horaEntrada.ToString("yyyy-MM-dd H:mm:ss tt"));
      //MessageBox.Show("salida "+horaSalida);
      comando.Parameters.AddWithValue("@WorkHourOut", horaSalida.ToString("yyyy-MM-dd H:mm:ss tt"));
      status = comando.ExecuteNonQuery();
    }
    if (status > 0)
    { 
      MessageBox.Show("insercion completa :-D"); 
    }
    else 
    {
      MessageBox.Show("insercion fallida -_-");
    }
  }     // INSERTED !!!
  catch (Exception ex)
  {
    MessageBox.Show("error " + ex);
  }
  finally
  {
    tiempo.Close();
  }
}       // INSERTED !!!
<code>

0 个答案:

没有答案