Solved

Connect to SQL Server Function Using C# Data Grid View

Posted on 2012-03-24
8
1,170 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 500 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
Turn Insights Into Action

You’ve already invested in ITSM tools, chat applications, automation utilities, and more. Fortify these solutions with intelligent communications so you can drive business processes forward.

With xMatters, you'll never miss a beat.

 
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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
In the first part of this tutorial we will cover the prerequisites for installing SQL Server vNext on Linux.
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.

687 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