Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 350
  • Last Modified:

Populate DataGrid from SQL

I have a DataGrid, and I want to populate it with data from a table in my SQL 2005 database.

As this is all rather new to me can anybody provide code as to how I can populate it (columns being created etc)?  I will be calling a select stored procedure I have made.
0
angus_young_acdc
Asked:
angus_young_acdc
  • 3
  • 3
1 Solution
 
RiteshShahCommented:

//C# windows application code, 
 
 //create connection to database
            System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection();
            conn.ConnectionString = "Data Source=.;Initial Catalog=AdventureWorks;Integrated Security=True";
            conn.Open();
 
            //setup SqlCommand and assign SQL query in command
            System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand();
            command.CommandType = System.Data.CommandType.StoredProcedure;
            command.Connection = conn;
            command.CommandText = "spProduct";
 
            //create one data adapter which will execute the command and fill the data into data set
            System.Data.SqlClient.SqlDataAdapter recordAdp = new System.Data.SqlClient.SqlDataAdapter();
            recordAdp.SelectCommand = command;
            System.Data.DataSet recordSet = new System.Data.DataSet();
            recordAdp.Fill(recordSet);
            command.Dispose();
            conn.Close();
            
            //datagridview1 should be on the form
            dataGridView1.DataSource = recordSet.Tables[0].DefaultView;
 
 
 
--sql server SP code
--create table
create table product
(
Id int,
name varchar(10),
productclass varchar(10)
)
 
--create sp
create proc spProduct
as
select * from product
 
--insert data
insert into product
select 1,          'foo',              '123' UNION ALL
select 2,          'som',              '456' UNION ALL
select 3,          'gee',              '789' UNION ALL
select 4,          'hhh',              'xyz' UNION ALL
select 5,          'sss',              'asd' UNION ALL
select 6,          'ppp',              'abc' UNION ALL
select 7,          'bbb',              'bar' 

Open in new window

0
 
angus_young_acdcAuthor Commented:
Hi RiteshShah

I have tried to modify that code (as it's using a different grid, and is ASP whereas I'm making a windows app) to the following:

SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["SQLConnectionString"]);
            SqlCommand cmd = new SqlCommand("dbo.[sUsersSelect]", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection.Open();
           
            grdAdminResult.DataSource = cmd.ExecuteReader();
            cmd.Connection.Close();
            cmd.Connection.Dispose();

But I get an exception on the ExecuteReader:
Complex DataBinding accepts as a data source either an IList or an IListSource.
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
angus_young_acdcAuthor Commented:
Ignore the above.  Didn't see your second post, will try that now.
0
 
angus_young_acdcAuthor Commented:
Worked like a charm, thank you very much!
0
 
RiteshShahCommented:
I wrote the code for windows C# application but there is not a much difference, you can use it in web application as well. do let me know if you will face any problem.
0

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now