user3348242
user3348242

Reputation: 41

get data from database and display it in gridview (asp.net)

I have a database (SQL server) and I added it into my webpage project but the problem is I cannot display the data in a gridview.

Here is my code:

string query;
SqlCommand SqlCommand;
SqlDataReader reader;
int sindex=DropDownList1.SelectedIndex+1;
int hindex =DropDownList3.SelectedIndex+1;
SqlDataAdapter adapter = new SqlDataAdapter();
//Open the connection to db
conn.Open();                
query = string.Format("select * from table where clumn='"+s+"' ", s);
SqlCommand = new SqlCommand(query, conn);
adapter.SelectCommand = new SqlCommand(query, conn);              
reader = SqlCommand.ExecuteReader();               
GridView2.DataSource = reader;
GridView2.DataBind();

Upvotes: 0

Views: 7668

Answers (3)

zed
zed

Reputation: 2338

Use SqlParameters instead of manipulating a string as you are doing now.
Also, use using statement to dispose objects correctly.
Don't use select * because it will affect performance, only select the columns needed.
Here an example of your code, modified:

using (SqlConnection conn = new SqlConnection(yourConnectionString))
{
    SqlCommand command = new SqlCommand();
    command.Connection = conn;
    command.CommandType = CommandType.Text;
    command.CommandText = "select column, column2 from table where column=@column";

    command.Parameters.Add(new SqlParameter("column", SqlDbType.VarChar, 50));
    command.Parameters["column"].Value = yourColumnValue;

    conn.Open();

    using (SqlDataReader sdr = sco.ExecuteReader())
    {
        GridView2.DataSource = sdr;
        GridView2.DataBind();
    }
}  

Upvotes: 1

apomene
apomene

Reputation: 14389

better use SqlDatadapter:

  DataTable dt = new DataTable();
 ...
using (SqlDataAdapter a = new SqlDataAdapter( new SqlCommand(query, conn)))
                  {
                      GridView2.DataSource =a.Fill(dt).AsDataView();
                  }

Upvotes: 0

Enrique Zavaleta
Enrique Zavaleta

Reputation: 2108

Change this

query = string.Format("select * from table where clumn='"+s+"' ", s);

to this

query = string.Format("select * from table where clumn='{0}' ", s);

Upvotes: 4

Related Questions