if(DropDownList1.SelectedItem.Value=="qb")
{str="1=1";}
if(DropDownList1.SelectedItem.Value=="ddbh")
{  int No;
@No=Convert.ToInt32(TextBox1.Text.ToString()); 
str="Order_No=@No";
}
if(DropDownList1.SelectedItem.Value=="khzh")
{
    string ID;
@ID=TextBox1.Text.ToString(); 
str="Customer_ID=@ID";
}
if(DropDownList1.SelectedItem.Value=="ddzt")
{
string State;
@State=TextBox1.Text.ToString(); 
str="Order_State=@State";
}数据存储应该怎么写啊?
CREATE PROCEDURE .[Orders_select2]
@str1 nvarchar(200)
 AS
declare @sql nvarchar(1000)
set @sql='select * from Orders where'+@str1
exec(@sql)
这样不行啊!

解决方案 »

  1.   

    楼主参看:http://community.csdn.net/Expert/TopicView3.asp?id=4749107
      

  2.   

    在程序中写数据存储的where判断条件,怎么写啊!
      

  3.   

    程序中的写法:
    SqlCommander.CommandType = CommandType.StoredProcedure;
    SqlCommander.CommandText="Orders_select2 " + strWhere   //你的where条件where条件:
    1)直接写条件
    string strWhere=" OrderID='"+TextBox1.Text.ToString()+"'"2)使用参数
    SqlCommander.Parameters.Add(new SqlParameter("OrderID", textBox1.Text));
    string strWhere=" OrderID=@OrderID"