?
Solved

Connect to SQL Server Function Using C# Data Grid View

Posted on 2012-03-24
8
Medium Priority
?
1,171 Views
Last Modified: 2012-08-13
OK, so I'm pretty new to C# development, and I have an issue that I am just not understanding.

I have a SQL Server 2005 compatible DB with a series of tables. The ones that matter are the Users, Compatibility, and Suppliers tables. There is also a view, which pulls the aforementioned tables' data into a View that means something to a program. Finally, I have a function that displays the exact same thing as the view, except that it takes in a variable that filters the data by user (that variable is "@aUser"). The reason I have both a view and a function that display the exact same thing is because I am trying to get it to cooperate with a C# program that I am developing in VS 2010.

Connecting to the DB, viewing the tables, and displaying the view all work perfectly using a  DataGridView. My problem comes when I try to use the function. I have no idea how to pass the variable into the function using the DataGridView, along with the BindingSource and the TableAdapter that accompany it.

I read about using the filter property in the BindingSource, but that seems to be only for views and table queries. To that effect, I have no idea how to use a C# variable with the filter property of the BindingSource correctly.

I have no problem using a view or a table query instead of a function, but I also don't know how to use that filter property properly. Without either the proper way to pass a variable to the SQL function in the DataGridView, or the proper way to set up the filter property, my program is at a stand still.

My question is this: How do you pass a C# variable to a SQL Server DB function that is displayed in a DataGridView?

If you don't know that or you think that it's easier/more efficient to use the filter property, then I would love to know what too.

Many thanks in advance for the help and any advice is greatly appreciated.
0
Comment
Question by:Sirjacksinurbox
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
8 Comments
 
LVL 29

Expert Comment

by:QPR
ID: 37761688
If I'm reading your question correctly.... you cannot pass a variable (input parameter) to a view.
You need to create a stored procedure.

create procedure GetMyData
@inputvar varchar(50)
as
select.....
<view code here>
where aField = @inputvar

Then you can create your sqlconnection and sqlcommand (the stored procedure) and supply the input parameter from a control on the page or a querystring value or....

http://www.codeproject.com/Articles/23998/Calling-SQL-Server-stored-procedures-from-Microsof
0
 
LVL 2

Author Comment

by:Sirjacksinurbox
ID: 37761791
@QPR:
Alright, I will look in to that.

But how do you point a sqlconnection to a datagridview?
0
 
LVL 29

Accepted Solution

by:
QPR earned 2000 total points
ID: 37761857
Are you using visual studio?
Easiest thing to do is to create your stored procedure, then open VS and drag a datagrid onto the form then follow the wizard, it will guide you through pointing to the DB, selecting your SP and it will detect that the SP requires a parameter and ask you where to get the parameter from
0
Python: Series & Data Frames With Pandas

Learn the basics of Python’s pandas library of series & data frames and how we can use these tools for data manipulation.

 
LVL 2

Author Comment

by:Sirjacksinurbox
ID: 37761870
Oh I see, good to know.

That definitely clears it up. What confuses me is that it doesn't detect that the Table-Valued Function that I programmed requires a variable. I will set up a stored proc and report back.

Thank you for the information.
0
 
LVL 2

Author Comment

by:Sirjacksinurbox
ID: 37761945
Alright, everything went well with hooking up the stored proc, and when I preview the data, I can specify the variable to plug into it. It works correctly in that fashion and displays the correct data.

But when the time comes for it to work in the program, I cannot find out where to plug in the variable/parameter it needs to display the correct data. Is this area where it requests it labeled Filter?

Once again, thank you for answering my questions. As soon as I get it working correctly, you are the person who is getting all of the points.
0
 
LVL 29

Expert Comment

by:QPR
ID: 37761949
Where will your variable come from in the program?
0
 
LVL 2

Author Comment

by:Sirjacksinurbox
ID: 37761965
It can either come from a variables class (Variables.cs) or it can come from the form that calls the datagridview. That second variable is inside a private void method, inside of a public partial class form.

The variable name can either be userName or assignedUser, depending on where I call it from.
0
 
LVL 2

Author Closing Comment

by:Sirjacksinurbox
ID: 37779775
The answer wasn't exactly what I was looking for, but it got me thinking enough to find the solution.

I ended up using LINQ instead, which is a much more streamlined way of getting exactly what I was looking for.

Thanks again.
0

Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
It is possible to export the data of a SQL Table in SSMS and generate INSERT statements. It's neatly tucked away in the generate scripts option of a database.
Viewers will learn how the fundamental information of how to create a table.
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.
Suggested Courses

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question