Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Creating a method to retun a vaule from an SQL query

Posted on 2004-09-24
6
Medium Priority
?
191 Views
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;

                  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
Comment
Question by:sean-keys
[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
  • 3
  • 2
6 Comments
 

Expert Comment

by:dubbs2003
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)
0
 

Expert Comment

by:dubbs2003
ID: 12147635
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
 

Expert Comment

by:dubbs2003
ID: 12147652
So you return the Object[] after you call GetSqlValues then just iterate through the columns
0
Build and deliver software with DevOps

A digital transformation requires faster time to market, shorter software development lifecycles, and the ability to adapt rapidly to changing customer demands. DevOps provides the solution.

 

Author Comment

by:sean-keys
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?????

drSQL.GetSqlValues(product_price[]);


Thanks in advance




0
 
LVL 2

Accepted Solution

by:
rajkumarrg earned 500 total points
ID: 12149513
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
 

Author Comment

by:sean-keys
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);
                  getprice.Connection.Open();
                  price = getprice.ExecuteScalar().ToString();
                  cnSQL.Close();
                  
            }


Thanks for all your help,
Sean
0

Featured Post

The top UI technologies you need to be aware of

An important part of the job as a front-end developer is to stay up to date and in contact with new tools, trends and workflows. That’s why you cannot miss this upcoming webinar to explore the latest trends in UI technologies!

Question has a verified solution.

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

Make the most of your online learning experience.
If you are a mobile app developer and especially develop hybrid mobile apps then these 4 mistakes you must avoid for hybrid app development to be the more genuine app developer.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Progress

715 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