0

Чтобы читать данные из базы данных сервера Sql, мне сказали, что я должен помещать читатели внутрь использования операторов. Есть еще один вопрос Read data from SqlDataReader, похожий на это, но мне это не очень помогло, потому что я уже знал, как читать данные. Я просто не знал, как поместить данные в функцию. Проблема в том, что мне нужно использовать каждую часть данных, которая находится внутри двух разных операторов using, и мне нужно включить их в одну и ту же функцию SendPushNotification(). Каждый раз, когда используется один читатель, я теряю данные. Один используя оператор добавляет данные вПередача двух аргументов из отдельных операторов using в функцию

string readerTest; 

И один, используя оператор добавляет данные в

string uriReadString; 

Я затем перейти передать и как аргументы в моей функции:

SendPushNotification(uriReadString, readerTest); 

К время, когда они оба могут быть введены в функцию, читатели закончили, и мои строки вернутся к пустоте. Помощь Plz.

using (var connection = new SqlConnection(connectionString)) 
{ 
    connection.Open(); 

    DateTime now = DateTime.Now; 
    now = now.AddMilliseconds(-now.Millisecond); 

    var command = new SqlCommand("SELECT ImageName FROM Images WHERE NotifyDate = @todayDate", connection); 
    var paramDate = new SqlParameter("@todayDate", now); 
    command.Parameters.Add(paramDate); 

    var commandUri = new SqlCommand("SELECT * FROM Uri", connection); 
    string readerTest = ""; 
    string uriReadString = ""; 
    using (SqlDataReader reader = command.ExecuteReader()) 
    { 
     while (reader.Read()) 
     { 

      readerTest = reader[0].ToString(); 
      System.IO.File.WriteAllText(@"C:\Users\Nathan\Documents\Visual Studio 2013\Projects\MVCImageUpload\uploads\GetIDNow.txt", readerTest); 

     } 
    } 

    using (SqlDataReader readerUri = commandUri.ExecuteReader()) 
    { 
     while (readerUri.Read()) 
     { 
      uriReadString = readerUri[0].ToString(); 
      System.IO.File.WriteAllText(@"C:\Users\Nathan\Documents\Visual Studio 2013\Projects\MVCImageUpload\uploads\GetUriNow.txt", uriReadString); 

     } 

    } 
    SendPushNotification(uriReadString, readerTest); 

} 
+0

Добавьте их в два разных списка, а затем «SendPushNotification» значения из двух списков. – Adam

+0

Возможный дубликат [Читать данные из SqlDataReader] (http://stackoverflow.com/questions/4018114/read-data-from-sqldatareader) –

+0

Это растяжка – Adam

ответ

0

Я считаю, что это то, что вы пытаетесь сделать ... Если это не так, я удалю ответ. Добавьте строку вручную в список, а затем параллельно, PushSend уведомление с уважением.

List<string> readList = new List<string>(); 
List<string> uriList = new List<string>(); 
using (var connection = new SqlConnection(connectionString)) 
{ 
    connection.Open(); 

    DateTime now = DateTime.Now; 
    now = now.AddMilliseconds(-now.Millisecond); 

    var command = new SqlCommand("SELECT ImageName FROM Images WHERE NotifyDate = @todayDate", connection); 
    var paramDate = new SqlParameter("@todayDate", now); 
    command.Parameters.Add(paramDate); 

    string readerTest = ""; 
    string uriReadString = ""; 
    using (SqlDataReader reader = command.ExecuteReader()) 
    { 
     while (reader.Read()) 
     { 

      readerTest = reader[0].ToString(); 
      System.IO.File.WriteAllText(@"C:\Users\Nathan\Documents\Visual Studio 2013\Projects\MVCImageUpload\uploads\GetIDNow.txt", readerTest); 
      readList.Add(readerTest); 
     } 
    } 

    using (SqlDataReader readerUri = commandUri.ExecuteReader()) 
    { 
     while (readerUri.Read()) 
     { 
      uriReadString = readerUri[0].ToString(); 
      System.IO.File.WriteAllText(@"C:\Users\Nathan\Documents\Visual Studio 2013\Projects\MVCImageUpload\uploads\GetUriNow.txt", uriReadString); 
      uriList.Add(uriReadString); 
     } 

    } 

    for(int i = 0; i < readList.Count; i++) 
     SendPushNotification(uriList[i], readList[i]); 
Смежные вопросы