2014-04-15 46 views
-1

在我的搜索功能,我需要传递两个参数到SP。在这里我保持条件,但没有得到所需的输出。这里是我的code.any一个帮我如何检查,如果条件它是字符串或不

if (IsValid) 
      { 
       DataTable dt = new DataTable(); 

       SqlConnection con = new SqlConnection(myStr); 
       SqlCommand cmd = new SqlCommand("spRedemItem", con); 
       cmd.CommandType = CommandType.StoredProcedure; 
       if(Parameter.Equals(DropDownList2.SelectedValue=="CustomerCode")) 
       { 
        cmd.Parameters.AddWithValue("@CustomerCode", txtkey2.Text); 

       } 
       else 
       { 
        cmd.Parameters.AddWithValue("@CustomerName", txtkey2.Text); 
       } 
       SqlDataAdapter sda = new SqlDataAdapter(cmd); 
       Session["CustomerName"] = dt; 
       con.Open(); 
       DataSet ds = new DataSet(); 
       sda.Fill(ds); 
       dt = ds.Tables[0]; 
       Label10.Text = dt.Rows[0]["ItemCode"].ToString(); 
       Label11.Text = dt.Rows[0]["CustomerName"].ToString(); 
       Label12.Text = dt.Rows[0]["PointsNeeded"].ToString(); 
       // Session["CustomerName"] = dt; 
       View.DataBind(); 
       con.Close(); 
      } 
+0

的[我如何在Java中比较字符串?]可能重复(http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) –

回答

0

如果你的sproc有两个参数,那么你需要每次传递两个参数。通常你会编写你的SQL代码,这样你就可以将NULL传递给任何你想忽略的参数,例如WHERE (@Column1 IS NULL OR Column1 = @Column1)。如果您想忽略该参数,则可以使用DBNull.Value作为参数值。尽管如此,您不能使用AddWithValue,因为无法推断数据类型。

E.g.

command.CommandText = @"SELECT * 
         FROM MyTable 
         WHERE (@C1 IS NULL OR C1 = @C1) 
         AND (@C2 IS NULL OR C2 = @C2)"; 
command.Parameters.Add("@C1", SqlDbType.Int).Value = (someValue == "int" 
                 ? Convert.ToInt32(myTextBox.Text) 
                 : (object) DBNull.Value); 
command.Parameters.Add("@C2", SqlDbType.VarChar, 50).Value = (someValue == "string" 
                   ? myTextBox.Text 
                   : (object) DBNull.Value); 
+0

第一个参数INT ,第二个字符串先生..我的意图是检查如果条件天气的参数是int或字符串先生....我没有得到it.rest代码在SP类似的先生,因为你建议像先生 – chrish549

+0

你不检查是否一个参数是“int”或“string”。正如我所说的,每次都添加两个参数。您只需为要忽略的那个提供NULL。看看我将添加到我的答案的代码示例。 – jmcilhinney

+0

jmcilhinney ok先生..感谢 – chrish549

相关问题