Как использовать для цикла для чтения данных из таблицы MySQL - PullRequest
0 голосов
/ 16 января 2019

У меня есть база данных mysql, и я хочу читать оттуда данные в моем веб-приложении с помощью цикла for вместо цикла foreach.

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();
     }
}

Мне нужно читать данные из определенного индекса, такие как чтение данных в таблице MySQL из этой даты до сих пор. и я думаю, что моя проблема была бы решена с помощью цикла

1 Ответ

0 голосов
/ 16 января 2019

Вы можете также использовать DataView RowFilter :

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

Просто сделайте это:

foreach (DataRowView rowView in dv)
{
    DataRow row = rowView.Row;
    // Do something //
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...