首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

[] 晕,有种想吐血的感觉!(没分了.)

2012-01-24 
[求助]晕,有种想吐血的感觉!!!(没分了...)额....没分了,大侠们当作作好事吧。一个win窗体中:存储过程:SQL c

[求助] 晕,有种想吐血的感觉!!!(没分了...)
额....没分了,大侠们当作作好事吧。


一个win窗体中:

存储过程:

SQL code
CREATE   PROCEDURE   getallczyinfo ( @sale_id   char(10)   , @sale_name   char(10), @sale_jg   char(10) )   ASdeclare @condition varchar(400)     set @condition='' if(rtrim(@sale_id)!='')    begin           set @condition=@condition+' and sale_id='''+@sale_id+''''    end if(rtrim(@sale_name)!='')    begin           set @condition=@condition+' and sale_name='''+@sale_name+''''    end if(rtrim(@sale_jg)!='')    begin           set @condition=@condition+' and sale_jg='''+@sale_jg+''''    enddeclare @select1 varchar(2000)   set @select1='select   salepeople.sale_id   as   销售员编号,salepeople.sale_name   as   销售员姓名,salepeople.sale_sex   as   销售员性别, salepeople.sale_age   as   销售员年龄,   salepeople.sale_jg   as   销售员籍贯,salepeople.sale_xl   as   销售员学历,   salepeople.sale_call   as   销售员电话,salepeople.sale_zhz   as   销售员住址,   salepeople.sale_xst   as   销售员柜台   from   salepeople     where sale_id!=''-1'''    exec(@select1+@condition)GO


代码是:
C# code
namespace openjjsys{    public partial class salepeoplemanage : Form    {        public salepeoplemanage()        {            InitializeComponent();        }        private SqlConnection mycn;        private SqlCommand mycmd;        private SqlDataAdapter myda;        private DataSet myds;              private void salepeoplemanage_Load(object sender, EventArgs e)        {                mycn = new SqlConnection();                mycn = new SqlConnection("server=localhost;uid=sa;pwd=;database=openjjsys;");                myds = new DataSet();                mycmd = new SqlCommand();                mycmd.Connection = mycn;                mycmd.CommandType = CommandType.StoredProcedure;                mycmd.CommandText = "getallczyinfo";                                mycmd.Parameters.Add(new System.Data.SqlClient.SqlParameter ("@sale_id",System.Data.SqlDbType.Char,10,"sale_id"));                mycmd.Parameters.Add(new System.Data.SqlClient.SqlParameter ("@sale_name", System.Data.SqlDbType.Char, 10, "sale_name"));                mycmd.Parameters.Add(new System.Data.SqlClient.SqlParameter ("@sale_jg", System.Data.SqlDbType.Char, 10, "sale_jg"));                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";        }        private void button1_Click(object sender, EventArgs e)        {            try            {                myda.SelectCommand.Parameters["@sale_id"].Value = textBox1.Text;                myda.SelectCommand.Parameters["@sale_name"].Value = textBox2.Text;                myda.SelectCommand.Parameters["@sale_jg"].Value = comboBox1.SelectedItem;                myds.Tables["salepeople"].Clear();                myda.Fill(myds, "salepeople");            }            catch (SqlException ee) { MessageBox.Show(ee.Message); }        }    }}


这个样子就可以....于是我就想了,我在新建一个win窗体....只做少少的改动。

存储过程:
SQL code
CREATE   PROCEDURE   getzyinfo ( @sale_id   char(10)   , @sale_name   char(10))   ASdeclare @condition varchar(400)     set @condition='' if(rtrim(@sale_id)!='')    begin           set @condition=@condition+' and sale_id='''+@sale_id+''''    end if(rtrim(@sale_name)!='')    begin           set @condition=@condition+' and sale_name='''+@sale_name+''''    enddeclare @select1 varchar(2000)   set @select1='select   salepeople.sale_id   as   销售员编号,salepeople.sale_name   as   销售员姓名,salepeople.sale_sex   as   销售员性别, salepeople.sale_age   as   销售员年龄,   salepeople.sale_jg   as   销售员籍贯,salepeople.sale_xl   as   销售员学历,   salepeople.sale_call   as   销售员电话,salepeople.sale_zhz   as   销售员住址,   salepeople.sale_xst   as   销售员柜台   from   salepeople     where sale_id!=''-1'''    exec(@select1+@condition)GO 



代码是:
C# code
namespace openjjsys{    public partial class salepeopleshanchu : Form    {        public salepeopleshanchu()        {            InitializeComponent();        }        private SqlConnection mycn;        private SqlCommand mycmd;        private SqlDataAdapter myda;        private DataSet myds;        private void salepeopleshanchu_Load(object sender, EventArgs e)        {            mycn = new SqlConnection();            mycn = new SqlConnection("server=localhost;uid=sa;pwd=;database=openjjsys;");            myds = new DataSet();            mycmd = new SqlCommand();            mycmd.Connection = mycn;            mycmd.CommandType = CommandType.StoredProcedure;            mycmd.CommandText = "getzyinfo";            mycmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@sale_id", System.Data.SqlDbType.Char, 10, "sale_id"));            mycmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@sale_name", System.Data.SqlDbType.Char, 10, "sale_name"));            myda = new SqlDataAdapter();            myda = new SqlDataAdapter("getzyinfo", mycn);            myda.SelectCommand = mycmd;            mycmd.Parameters["@sale_id"].Value = "%";            mycmd.Parameters["@sale_name"].Value = "%";            myda.Fill(myds, "salepeople");            dataGridView1.DataSource = myds;            dataGridView1.DataMember = "salepeople";        }        private void button1_Click(object sender, EventArgs e)        {            try            {                myda.SelectCommand.Parameters["@sale_id"].Value = textBox1.Text;                myda.SelectCommand.Parameters["@sale_name"].Value = textBox2.Text;                myds.Tables["salepeople"].Clear();                myda.Fill(myds, "salepeople");            }            catch (SqlException ee) { MessageBox.Show(ee.Message); }        }    }}


他妈的dataGridView就不显示了....感觉数据库又没连上.....晕死了...

2个独立的窗体,第二个就比第一个少了一个comboBox1而已.....2个存储过程,第二个也就稍微修改了第一个....

怎么TMD就不可以了呢?????????????????????

[解决办法]
第二个窗体 的 InitializeComponent(); dataGridView1 的列都设定好了吗,如果没有AutoGenerateColumns = true 的话,
第二个窗体 按钮点击后也没有绑定数据给dataGridView1 

那个 未将对象引用设置到对象的实例 就要调试一下才知道了
[解决办法]
设置断点单步跟踪!
自己调试下试试看,调试是程序员必备的!楼主加油!
[解决办法]
才对应的窗体内部 设置断点.也就是要打开的的窗体界面

如果直接打开,那就说明里面的没有被执行,好好检查下参数问题.
[解决办法]
WinFrom里面没有这个方法的
dataGridView1.DataBind(); 只有绑定后有数据的会自动显示出来,不用像WebForm里需要DataBind()的

调试一下看看有没有数据

热点排行