C # получить много строк в одной строке - PullRequest
0 голосов
/ 08 июля 2019

в C # В настоящее время я получаю некоторые данные из SQL, мой запрос возвращает мне только один столбец из-за моего выбора (см. Код ниже), но в некоторых случаях может случиться так, что у меня будет более одной строки, поэтому яХотите узнать, есть ли способ вернуть эти строки только в одной строке текста?

Вот мой текущий код:

  public bool getDBValue(string m_strValue, string m_strFilter, string m_strDBTable, out DataSet m_objDs, out string m_strError)

 try
 {
    using (SqlConnection oConn = new SqlConnection(getConnectionString()))
    {
       oConn.Open();
       SqlDataAdapter l_objAdapter = new SqlDataAdapter("Select [" + m_strValue + "] FROM "+ m_strDBTable+" Where ProjectUID =" + "'" + m_strFilter + "'", oConn);
       m_objDs = new DataSet();
       l_objAdapter.Fill(m_objDs);
    }
    return (true);
 }
 catch (Exception e)
 {
    m_strError = e.Message;
    return (false);
 }

Потому что на данный момент я использовал свои данныеwith with line:

string value = l_objDs.Tables[0].Rows[0]["ColumnName"].ToString();

, но так как у меня может быть много значений, он возвращает только одно значение.Итак, есть идеи, как я могу это сделать?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 08 июля 2019

Нет, это невозможно, поскольку у вас есть значение в строке [0] таблицы [0], поэтому вы получите значение первой строки вашей первой таблицы.

string value = l_objDs.Tables [0] .Rows [0] ["ColumnName"]. ToString ();

я бы скорее предложил вам перебрать строки таблицы и добавить ее вa StringBuilder и затем назначьте его строковому значению.

Что-то вроде ниже.

StringBuilder sb = new StringBuilder();
foreach (DataRow dr in l_objDs.Tables[0].Rows)
        {
            sb.Append(dr["ColumnName"]);
        }
 string value= sb.ToString();

Надеюсь, это поможет!

1 голос
/ 08 июля 2019

Просто используйте foreach для просмотра всех строк:

string value = "";
foreach (DataRow row in m_objDs.Tables[0].Rows)
  value += row["ColumnName"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...