Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 356
  • 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
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

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