如何使用for循环从mysql表读取数据

时间:2019-01-16 06:03:49

标签: mysql entity-framework for-loop

我有mysql数据库,我想使用for循环而不是foreach循环从Web应用程序中读取数据。

MySqlConnection conn = new MySqlConnection(connStr);
conn.Open();

string query = "SELECT * FROM survey ORDER BY datetime DESC";
MySqlCommand com = new MySqlCommand(query, conn);

com.CommandTimeout = 0;
MySqlDataAdapter da = new MySqlDataAdapter(com);
DataTable ds = new DataTable();
da.Fill(ds);
conn.Close();            

foreach (DataRow item in ds.Rows)
{
    string unique = item.ItemArray[4].ToString();
    var sur = db2.VoipSurveys.Where(a => a.UniqueId == unique).SingleOrDefault();
    if (sur == null)
    {
        VoipSurvey vs = new VoipSurvey()
        {
            Date = Convert.ToDateTime(item.ItemArray[1]),
            Point = Convert.ToInt32(item.ItemArray[2]),
            CallerId = item.ItemArray[3].ToString(),
            UniqueId = item.ItemArray[4].ToString(),
            AgentNumber = item.ItemArray[5].ToString(),
            AgentName = item.ItemArray[6].ToString(),
            QueueNumber = item.ItemArray[7].ToString()
        };

        db2.VoipSurveys.Add(vs);
        db2.SaveChanges();
     }
}

我需要从特定的索引中读取数据,例如从该Date到现在为止读取mysql表中的数据。而且我认为我的问题可以通过for循环来解决

1 个答案:

答案 0 :(得分:0)

您也可以使用DataView RowFilter

node_ptr

只需执行以下操作:

  // Create a DataView
  DataView dv = new DataView(dt);
  dv.RowFilter = " (Date >= #" +
  Dateyouwanttouse +
  "# And Date <= #" +
  DateTime.Now +
  "# ) ";