Creating a method to retun a vaule from an SQL query

Posted on 2004-09-24
Last Modified: 2010-04-17
I’m trying to create a method so that when it is called, it will return a value based on what it received.   Here is what I have come up with so far.  I guess you could say I'm still a C# dummy.

private void GetProductPrice(int productID)

                  SqlConnection cnSQL;

                  SqlCommand cmSQL;

                  SqlDataReader drSQL;
                  string strSQL;

                        strSQL = "SELECT product_price from t_products where product_id =productID";
                        cnSQL = new SqlConnection(Connectionstring);
                        cmSQL = new SqlCommand(strSQL, cnSQL);
                        drSQL = cmSQL.ExecuteReader();
                        return drSQL.?????;   //at this point I'm not sure how to return a value to the method that invoked it.

Question by:sean-keys
  • 3
  • 2

Expert Comment

ID: 12147462
Your method declaration has a type 'void' return identifier.

i.e. private void GetProductPrice(int productID)

If you want to return a value you have to change void to the type of value you are returning

i.e. private String GetProductPrice(int productID)

Expert Comment

ID: 12147635
you can return


//Gets all attribute columns in the collection for the current row.  

//values: An array of System.Object into which to copy the attribute columns.

//The number of instances of System.Object in the array.

Expert Comment

ID: 12147652
So you return the Object[] after you call GetSqlValues then just iterate through the columns
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.


Author Comment

ID: 12147815
I think I get it, since this is my command "SELECT product_price from t_products where product_id =productID", which will only return one value

I would want this?????


Thanks in advance


Accepted Solution

rajkumarrg earned 125 total points
ID: 12149513

You can use ExecuteScalar instead of ExecuteReader as you going to get only one value.

And in return type instead of void use string.

Hope it would be useful for you


Author Comment

ID: 12165036
This is what I ended up with.

public void GetProductPrice(int productID)
                  int ID = productID;
                  string strSQL = "SELECT product_price from t_products where product_id = productID";

                  SqlConnection cnSQL;

            cnSQL = new SqlConnection(Connectionstring);
                  SqlCommand getprice = new SqlCommand(strSQL, cnSQL);
                  price = getprice.ExecuteScalar().ToString();

Thanks for all your help,

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

708 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now