KISS = Keep It Simply, Stupid :)CREATE PROCEDURE getallczyinfo ( @sale_id char(10) -- this example solution skips the other two param ) AS select * from salepeople where sale_id = case when @sale_id='' then sale_id else @sale_id end -- remember the use of case statement. It saves a lot of code. GO ... mycmd.CommandText = "getallczyinfo"; mycmd.Parameters.AddWithValue(@sale_id, textBox1.Text.Trim()); ...
param.Value=xxx;
myda.SelectCommand.Parameters.Add(param);
这样添加参数试下....
myda = new SqlDataAdapter("getallczyinfo", mycn);
myda.SelectCommand = mycmd;
mycmd.Parameters["@sale_id"].Value = "%";
mycmd.Parameters["@sale_name"].Value = "%";
mycmd.Parameters["@sale_jg"].Value = "%";
myda.Fill(myds, "salepeople");
dataGridView1.DataSource = myds;
dataGridView1.DataMember = "salepeople";
comboBox1.SelectedIndex = 0;
改成这样:
myda = new SqlDataAdapter();
//myda = new SqlDataAdapter("getallczyinfo", mycn);
myda.SelectCommand = mycmd;
mycmd.Parameters["@sale_id"].Value = "%";
mycmd.Parameters["@sale_name"].Value = "%";
mycmd.Parameters["@sale_jg"].Value = "%";
myda.Fill(myds, "salepeople");
dataGridView1.DataSource = myds;
dataGridView1.DataMember = "salepeople";
comboBox1.SelectedIndex = 0;
myParm1.Value ="%";
SqlParameter myParm2 = mycmd.Parameters.Add("@sale_name", System.Data.SqlDbType.Char, 10, "sale_name");
myParm2.Value = "%";
SqlParameter myParm3 = mycmd.Parameters.Add("@sale_jg", System.Data.SqlDbType.Char, 10, "sale_jg");
myParm3.Value = "%"; myda = new SqlDataAdapter();
myda = new SqlDataAdapter("getallczyinfo", mycn);
myda.SelectCommand = mycmd;
mycmd.Parameters["@sale_id"].Value = "%";
mycmd.Parameters["@sale_name"].Value = "%";
mycmd.Parameters["@sale_jg"].Value = "%";---------------------------------------------
换了个写法还是不行.....
===
你是什么数据库的?
原来还能这么用的啊 向楼主学习
我感觉我还是数据库连接的时候有什么问题....c#我正在自学...有很多不懂的地方大家不要见笑啊,每个人都是从新手成长起来的嘛...
mycmd.Parameters["@sale_name"].Value = "%%";
mycmd.Parameters["@sale_jg"].Value = "%%";
这三个也改了
@sale_id char(10) -- this example solution skips the other two param
)
AS
select *
from salepeople
where sale_id = case when @sale_id='' then sale_id else @sale_id end
-- remember the use of case statement. It saves a lot of code.
GO ...
mycmd.CommandText = "getallczyinfo";
mycmd.Parameters.AddWithValue(@sale_id, textBox1.Text.Trim());
...