Solved

c#  Enum use ? Null to determine

Posted on 2007-11-24
10
2,291 Views
Last Modified: 2013-12-16
I want to use a Variable set to NULL when AllCustomers is selected ........I want to use ? technique in this. I dont want to use <System.Nullable>
public enum  EnumCustomers
  {   AllCustomers,
     CaliforniaCustomers,
     NewYorkCustomers
 }

public dataset GetCustomers(EnumCustomers Cust)
  {
       if Cust.AllCustomers = AllCustomers (I want this to be DEFAULT AS NULL and I want to assign it to a variable using C#  ?   statements )
  }
0
Comment
Question by:dotnet0824
  • 5
  • 5
10 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 20342827
I guess you want something like this:
public dataset GetCustomers(EnumCustomers Cust)
  {
     if (Cust.AllCustomers == EnumCustomers.AllCustomers)
     {
     }
  } 

public dataset GetCustomers()
{
   return GetCustomers(EnumCustomers.AllCustomers);
}

Open in new window

0
 

Author Comment

by:dotnet0824
ID: 20342903
its like this All I want is to Get Null Value to be assigned to @city
         if AllCustomers is passed I call
                Select * from Customer
               Case Cust.californiaCustomers
                     Select * from Customers where place="CA"
                Case Cust.NewyorkCustomers
                    Select * from Customers where place ="NY"
Now I want to do like this  (I dont want 3 conditions) like above
             if AllCustomers Passed  I want to pass  NULL  which stored proc understands and gets
                     Select * from customer
                             ELSE
                             

=============Stored Proc
Create procude Getcustomer
@city BIT
IF @City is NOT NULL
             Select * from Customers
               Else
                     Select * from customers where City=@City
0
 

Author Comment

by:dotnet0824
ID: 20342914
So in my function  i want to Create a Variable lets say    
if  passed in Value is  AllCustomers   x = Null else x = passsed in value
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 20342939
I assume that BIT is not the data type of the City column?

the sql procedure would look like this:
Create procude Getcustomer
  @city VARCHAR(20)
AS
Select * from Customers
where ( City=@City OR @City IS NULL)

0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 20342945
now, do you have already some code to call the procedure?
0
 

Author Comment

by:dotnet0824
ID: 20342965
ok lets consider the same stored procdure.. now how do i tune my function  to accept NULL when ALLCUSTOMERS Is passed.
I dont want to have  
   3 case Statement ie (Switch)
          I want something like
                                   Case  Null (ie AllCustomers)
                                 
                                      Case else
                                                pass the  EnumPassedvalue

i want to use ? and assign it to variable when Enum is passed and then
               
0
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 250 total points
ID: 20342973
tell me if this is what you want:

public dataset GetCustomers(string city)
  {
     SqlCommand cmd = new SqlCommand("Getcustomer", youconnectionobject");
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Parameters.Add("@city", city)
     
     etc etc etc to fill the dataset from the SqlCommand
     

  }

public dataset GetCustomers()
{
   return GetCustomers(string.empty);
}



and the procedure looking like this:

Create procude Getcustomer
  @city VARCHAR(20) = ''
AS
Select * from Customers
where ( City=@City OR @City IS NULL OR @City = '')


0
 

Author Comment

by:dotnet0824
ID: 20343005
i should have been more clear... sorry about this .  I have just tested
In my function I capture the enum passed into the variable  
 int x = (int)Cust;  (cust being the Enum passed in function)
X gets value 0 if (cust.AllCustomers)  1 if(cust.CalifronaiCustomers) 2 (cust.NewyorkCustomers)
Now If x value ==0  I want to use ? and convert to NULL
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 20343060
I am not 100% clear why you actually use an enum...
how does the user "choose"?
if it is a listbox/combo/radio button etc, set the selecteditem.value to the string value you want to search for, and the "all" item to '%'

and your procedure will be like this: (assuming that City is the city name):


Create procude Getcustomer
  @city VARCHAR(20) = '%'
AS
Select * from Customers
where ( City LIKE @City )

0
 

Author Comment

by:dotnet0824
ID: 20343190
Hi Angel 111.. Thanks  alot. I got the answer in ur stored proc. thanks agian
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

Suggested Solutions

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

809 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