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

简单很代码,现象很诡异.该如何解决

2012-02-07 
简单很代码,现象很诡异...代码很简单,只要点button1,能按输入t_1.Text的货号,在表里查找记录,并赋予t_2,t_

简单很代码,现象很诡异...
代码很简单,只要点button1,能按输入t_1.Text的货号,在表里查找记录,并赋予t_2,t_3,t_4,t_5,t_6值。没有则不显示。
头一次点button1是正常的,如果有记录就返回以上的信息,如果没有就显示空白。但是如果第一次输入的货号有记录,再输入任何货号都是显示上一条信息,哪怕t1.Text=""也是这样,实在是很诡异。
也在t_1.Text的change事件中清空了所有文本框。如图:头一张是正常的,二张明显货号就是空的(就算乱输入也一样)。竟然显示和第一张一样。请各位高人帮忙分析下原因

C# code
类文件: public class goods    {        int save_flag = 0;//取得是否有记录        string goods_name = "";//品名        string goods_place ="";//产地        string goods_type ="";//型号        string goods_unit = "";//单位        string goods_price = "";//价格                //数据库里是否有此商品,0没有、1有        public int save_flags        {            get            {                return save_flag;            }            set            {                save_flag = value;            }        }                //商品名        public string g_name        {            get            {                return goods_name;            }            set            {                goods_name = value;            }        }        //商品产地信息        public string g_place        {            get            {                return goods_place;            }            set            {                goods_place = value;            }        }        //商品规格信息        public string g_type        {            get            {                return goods_type;            }            set            {                goods_type = value;            }        }        //商品单位信息        public string g_unit        {            get            {                return goods_unit;            }            set            {                goods_unit = value;            }        }        //商品价格信息        public string g_price        {            get            {                return goods_price;            }            set            {                goods_price = value;            }        }        //搜索商品的信息        public string goods_find(string goods)        {            string goods_finds = "select  * from p_goods where goods_nums = '" + goods + "'";            m_sql_conn m_conn = new m_sql_conn();            SqlConnection conn = new SqlConnection(m_conn.sql_conn());            SqlCommand cmd = new SqlCommand(goods_finds, conn);            try            {                conn.Open();            }            catch (System.Exception)            {                MessageBox.Show("数据库打开失败", "提示");                return "GF0000001错误";            }            SqlDataReader goods_rs = cmd.ExecuteReader();            if(goods_rs.Read())            {                goods_name =  goods_rs["goods_name"].ToString();                goods_place = goods_rs["goods_place"].ToString();                goods_type =  goods_rs["goods_type"].ToString();                goods_unit =  goods_rs["goods_unit"].ToString();                goods_price = goods_rs["goods_price"].ToString();                save_flag = 1;            }            conn.Close();            goods_rs.Close();            return goods;        }

调用类
C# code
private void button1_Click(object sender, EventArgs e)        {            mygoods.goods_find(t_1.Text.Trim());            //按t_1.Text查找记录,按货号搜索            save_yn = mygoods.save_flags;            //得到结果是否找到,有返回1,没有返回0            t_2.Text = mygoods.g_name.ToString();            t_3.Text = mygoods.g_place.ToString();            t_4.Text = mygoods.g_type.ToString();            t_5.Text = mygoods.g_unit.ToString();            t_6.Text = mygoods.g_price.ToString();        }private void t_1_TextChanged(object sender, EventArgs e)        {            //输入货号前清空所有文本框            t_2.Text = "";            t_3.Text = "";            t_4.Text = "";            t_5.Text = "";            t_6.Text = "";            t_7.Text = "";        }



[解决办法]
是不是你的内存中没有释放 或者 控件数据没有清空
[解决办法]
从代码看很明显
C# code
private void button1_Click(object sender, EventArgs e)        {            mygoods.goods_find(t_1.Text.Trim());            //按t_1.Text查找记录,按货号搜索            save_yn = mygoods.save_flags;            //得到结果是否找到,有返回1,没有返回0            t_2.Text = mygoods.g_name.ToString();            t_3.Text = mygoods.g_place.ToString();            t_4.Text = mygoods.g_type.ToString();            t_5.Text = mygoods.g_unit.ToString();            t_6.Text = mygoods.g_price.ToString();        } 

热点排行