Как получить все значения столбца в C # из таблицы базы данных - PullRequest
0 голосов
/ 14 января 2019
public void doTry()
        {
            db.ConnectionCheck();
            string sqlUname = "";
            string oracleUname = "";
            string usertesting = "select * from nayatable";
            db.cmd = new SqlCommand(usertesting, db.DBconnect);
            SqlDataReader myReader = db.cmd.ExecuteReader();
            if (myReader.Read())
            {
                sqlUname = myReader["USERNAME"].ToString();
                //MessageBox.Show(uname);
                textBox1.Text = sqlUname;
            }
    }

Это только дает первое значение второй строки, но мне нужны все столбцы в базе данных.

Ответы [ 2 ]

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

Если вы хотите получить все значения, вам нужно loop :

        ...
        // Keep Sql Readable
        // Do not fetch unwanted columns - * 
        string userTesting = 
          @"select UserName 
              from NayaTable";

        // Wrap IDisposable into using
        using (db.cmd = new SqlCommand(userTesting, db.DBconnect)) {
          // Wrap IDisposable into using
          using(SqlDataReader myReader = db.cmd.ExecuteReader()) {
            // we are going to build one string from many records
            StringBuilder sb = new StringBuilder();

            // Here, we have to loop and aggregate / collect all the records
            while (myReader.Read()) {
              if (sb.Length > 0)
                sb.Append(", "); // delimiter 

              sb.Append(Convert.ToString(myReader["USERNAME"])); 
            }

            // Here you'll get usernames like "Sam, John, Mary" 
            textBox1.Text = sb.ToString(); 
          }
        }
0 голосов
/ 14 января 2019

Здесь есть множество вариантов: либо вы можете использовать DataTable, как сказал Ehsan, либо вы можете использовать List для сбора всех данных. Примерно так:

public class dbLogin
{
   public string userName{get;set;}
}

public void doTry()
    {
        db.ConnectionCheck();
        string sqlUname = "";
        string oracleUname = "";
        string usertesting = "select * from nayatable";
        db.cmd = new SqlCommand(usertesting, db.DBconnect);
        SqlDataReader myReader = db.cmd.ExecuteReader();

List<dbLogin> dbData=new List<dbLogin>();


 if (myReader.Read())
        {
            dbLogin _dbLogin=new dbLogin();
            _dbLogin.userName = myReader["USERNAME"].ToString();
            textBox1.Text = sqlUname;
            dbData.Add(_dbLogin);
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...