Reputation: 1
I would like to use my sql query result in a variable at same time.How can i do?
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
}
Upvotes: 0
Views: 618
Reputation: 3498
you could use the DataAdapter instead :
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
}
}
Upvotes: 0
Reputation: 10585
Use a DataTable
and you can easily access your rows data. Something like:
DataTable dt = new DataTable();
dt.Load(reader)
Then you can use the DataTable.Rows
property.
DataRow row = dt.Rows[0];
string name = row["name"].ToString();
Upvotes: 1