Go Premium for a chance to win a PS4. Enter to Win

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

Creating a method to retun a vaule from an SQL query

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;

                  try
                  {
                        
                        strSQL = "SELECT product_price from t_products where product_id =productID";
                        cnSQL = new SqlConnection(Connectionstring);
                        cnSQL.Open();
                        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.
}


Thanks,
Sean
0
sean-keys
Asked:
sean-keys
  • 3
  • 2
1 Solution
 
dubbs2003Commented:
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)
0
 
dubbs2003Commented:
you can return

drSQL.GetSqlValues(Object[]);

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

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

//Returns:
//The number of instances of System.Object in the array.
0
 
dubbs2003Commented:
So you return the Object[] after you call GetSqlValues then just iterate through the columns
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
sean-keysAuthor Commented:
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?????

drSQL.GetSqlValues(product_price[]);


Thanks in advance




0
 
rajkumarrgCommented:
Hi

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

Thanks
Raj
0
 
sean-keysAuthor Commented:
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);
                  getprice.Connection.Open();
                  price = getprice.ExecuteScalar().ToString();
                  cnSQL.Close();
                  
            }


Thanks for all your help,
Sean
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.

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