Как использовать результат запроса SQL в переменной? - PullRequest
0 голосов
/ 07 апреля 2019

Я хотел бы одновременно использовать свой результат запроса sql в переменной. Как я могу это сделать?

var conn = new SqlConnection(@"Server=(localdb)\MSSQLLocalDB; AttachDbFileName=|DataDirectory|database.mdf;");
conn.Open();
var comm = new SqlCommand($"SELECT name FROM database WHERE age = 25", conn);
var reader = comm.ExecuteReader();
 while(reader.Read())
{
  string name =reader[0].ToString();

}
conn.Close();


if (name != textbox.Text)
{
 //do something
}

Ответы [ 2 ]

1 голос
/ 07 апреля 2019

Используйте DataTable, и вы можете легко получить доступ к вашим данным строк. Что-то вроде:

DataTable dt = new DataTable();
dt.Load(reader)

Тогда вы можете использовать свойство DataTable.Rows.

DataRow row = dt.Rows[0];
string name = row["name"].ToString();
0 голосов
/ 07 апреля 2019

вместо этого вы можете использовать DataAdapter:

var table = new DataTable(); 

using(SqlConnection con = new SqlConnection(@"Server=(localdb)\MSSQLLocalDB; AttachDbFileName=|DataDirectory|database.mdf;"))
using(SqlCommand command =  new SqlCommand($"SELECT name FROM database WHERE age = 25", con))
using(SqlDataAdapter adapter = new SqlDataAdapter(command))
{
    con.Open();
    adapter.Fill(table);
}


// if single row 
if (table.Rows[0].Field<string>("name") != textbox.Text)
{
 //do something
}

//if multiple rows 
for(int x = 0; x < table.Rows.Count; x++)
{
    if (table.Rows[x].Field<string>("name") !=  textbox.Text)
    {
     //do something
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...