Member 12954126 Ответов: 1

Как получить из набора данных один столбец с несколькими записями в одной строке?


У меня есть список emailid в этом наборе данных:
public string get_emailid(string circle)
{
string str2 = "select emailid from user_ where circle='" + circle + "' and role=3;
SqlCommand cmd = new SqlCommand(str2, connection);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
string str = ds.Tables[0].Rows[0]["emailid"].ToString();
return str;
}

это возвращает ниже электронные письма:
gandhi@gmail.com
chauhan@yahoo.com
kohli2@gmail.com

Итак, когда я вызываю эту функцию на странице aspx, как это, используя SqlDataAdapter da и храню в одной строке с именем email, и я хочу использовать эту строку email 3 раза в другой функции:
string email= da.get_emailid(Circle);


как я могу получить эти 3 emailid в одной строке электронной почты?

Что я уже пробовал:

я не хочу использовать ArrayList list = new ArrayList ();, я хочу использовать его для цикла. Я понятия не имею...

1 Ответов

Рейтинг:
2

Karthik_Mahalingam

попробовать это

public string get_emailid(string circle, string splitter)
  {

      string str2 = "select emailid from user_ where circle= @cirlce and role=3 ";
      SqlCommand cmd = new SqlCommand(str2, connection);
      cmd.Parameters.AddWithValue("@cirlce", circle);
      SqlDataAdapter da = new SqlDataAdapter(cmd);
      DataSet ds = new DataSet();
      da.Fill(ds);
      List<string> lst = new List<string>();
      if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
          foreach (DataRow row in ds.Tables[0].Rows)
              lst.Add(row["emailid"].ToString());


      string str = string.Join(splitter, lst);
      return str;
  }


string email = da.get_emailid(circle,","); // you shall use any splitter to join the emails 



Форматирование строки sql-запроса уязвимый к SQL-инъекция[^] атаки
всегда использовать Параметризованные запросы для предотвращения атак SQL-инъекций в SQL Server[^]


Member 12954126

он показывает недопустимые аргументы в строке.Функция соединения

Karthik_Mahalingam

  string str = "";
        if(lst != null)
           str= string.Join(splitter, lst);
       return str;