当From窗体中数据变化时,使用代码获取数据库中的数据然后加入combobox中并且从数据库中取得最后的结果
2014-11-26 17:44
447 查看
private void FormLug_Load(object sender, EventArgs e) { FieldListLug.Clear();//字段清除 DI = double.Parse(tbDn.Text);//DI等于tbdn中的值 把值强制转化成DOUBLE型 string TypeName = "Y_SUPPORT_LUG_4712_3_2007_TYPE";//定义查询表名 string where = string.Format("DnX < {0} and DnD > {0}", DI);//定义查询条件 //where = "DnX < " + DI.ToString() + " and DnD > " + DI.ToString(); FieldListLug.Add("TypeC");//要查询的列 tbType = GetAccessData(TypeName, FieldListLug, where);//获得查询出来的表 TypeList = tbType.AsEnumerable() .Select(p => p.Field<string>("TypeC")).Distinct().ToList();//将表变成列 cbType.Items.AddRange(TypeList.ToArray());//变成列加入控件中 //cbType.SelectedIndex = 0; } private void tbDn_TextChanged(object sender, EventArgs e) { #region 解除事务 this.tbDn.HideSelectionChanged -= new System.EventHandler(this.tbDn_TextChanged); this.cbType.SelectedIndexChanged -= new System.EventHandler(this.cbType_SelectedIndexChanged); this.cbNum.SelectedIndexChanged -= new System.EventHandler(this.cbNum_SelectedIndexChanged); #endregion #region 增加事务 this.tbDn.HideSelectionChanged += new System.EventHandler(this.tbDn_TextChanged); this.cbType.SelectedIndexChanged += new System.EventHandler(this.cbType_SelectedIndexChanged); this.cbNum.SelectedIndexChanged += new System.EventHandler(this.cbNum_SelectedIndexChanged); TopPlateList.Clear(); #endregion } private void cbType_SelectedIndexChanged(object sender, EventArgs e)//CBTYPE里面数据变化时产生的操作 { cbbHasCover.Enabled = true;//默认CHACKBOX初始时为可以改变 FieldListLug.Clear();//清除耳座字段列表 string TypeName = "Y_SUPPORT_LUG_4712_3_2007_TYPE";//定义查找表名的字符串 string where = string.Format("DnX < {0} and DnD > {0} and TypeC = '{1}'" , DI, cbType.Text);//定义查找条件字符串 FieldListLug.Add("HasCover");//将需要的列的字段加入字段列 可以加入多个 tbTopPlate = GetAccessData(TypeName, FieldListLug, where);//查询表 使用查询语句将表名 条件 字段列加入获得顶板表 TopPlateList = tbTopPlate.AsEnumerable() .Select(p => p.Field<bool>("HasCover")).Distinct().ToList();//将获得的表变成列 p.Field<>中类型要保持一致,Distinct()将重复的去除 if (TopPlateList.Count == 1)//如果TopPlateList中只有一个数据 则始终不能改变 { if (TopPlateList[0])//获取列中第一个数据 因为是一个BOOL型的列 如果第一个数据是TURE则有盖板并且成立 { cbbHasCover.Checked = true;//选择有盖板 cbbHasCover.Enabled = false;//并且不能改变 } else//如果没有 { cbbHasCover.Checked = false;//选择无盖板 cbbHasCover.Enabled = false;//也不能改变 } } } private void cbbHasCover_CheckedChanged(object sender, EventArgs e) { FieldListLug.Clear();//继续清除字段 string TypeName = "Y_SUPPORT_LUG_4712_3_2007_TYPE";//定义查找表名的字符串 string where = string.Format("DnX < {0} and DnD > {0} and TypeC = '{1}' and HasCover = {2}", DI, cbType.Text, cbbHasCover.Checked);//定义查找条件字符串 FieldListLug.Add("LugNumber");//将需要的列的字段加入字段列 可以加入多个 tbNum = GetAccessData (TypeName, FieldListLug, where);//查询表 使用查询语句将表名 条件 字段列加入 获得顶板表 NumList = tbNum.AsEnumerable() .Select(p => p.Field<int> ("LugNumber").ToString()).Distinct().ToList();//.ToString()将查询结果变成字符型, //如果上面list定义成字符型就要转化成字符型 如果是int型与前面一致则不需要.前面int则是数据表中类型 cbNum.Items.AddRange(NumList.ToArray());//将数据列转化成数组然后加入cbnum中,只接受数组 } private void cbNum_SelectedIndexChanged(object sender, EventArgs e) { FieldListLug.Clear();//继续清除字段 if (cbType.Text == A)//选择了A { // string killedString = ""; // killedString = "q1,q2,DnX,DnD"; string TypeName = "Y_SUPPORT_LUG_4712_3_2007_A";//查询表A string where = string.Format("LugNumber = {0} ", cbNum.Text);//定义查询条件 tbValue = GetAccessData(TypeName, null, where);//查出需要的表 } else if (cbType.Text == B)//选择B { string TypeName = "Y_SUPPORT_LUG_4712_3_2007_B"; string where = string.Format("LugNumber = {0} ", cbNum.Text); tbValue = GetAccessData(TypeName, null, where); } else if (cbType.Text == C)//选择C { string TypeName = "Y_SUPPORT_LUG_4712_3_2007_C"; string where = string.Format("LugNumber = {0} ", cbNum.Text); tbValue = GetAccessData(TypeName, null, where); } }
View Code
相关文章推荐
- easyui-combobox---ajax获取数据库JSON数据,实现搜索框实时显示模糊搜索结果
- 调试代码的方法--将网络获取到的数据存储到文件中,然后打开文件看结果。
- 1 开发一个注重性能的JDBC应用程序不是一件容易的事. 当你的代码运行很慢的时候JDBC驱动程序并不会抛出异常告诉你。 本系列的性能提示将为改善JDBC应用程序的性能介绍一些基本的指导原则,这其中的原则已经被许多现有的JDBC应用程序编译运行并验证过。 这些指导原则包括: 正确的使用数据库MetaData方法 只获取需要的数据 选用最佳性能的功能 管理连
- 构造From窗体获取数据库数据,去除数据库中无用信息,并赋值给字段,最后画出图
- 不使用反射,“一行代码”实现Web、WinForm窗体表单数据的填充、收集、清除,和到数据库的CRUD
- 不使用反射,“一行代码”实现Web、WinForm窗体表单数据的填充、收集、清除,和到数据库的CRUD
- 不使用反射,“一行代码”实现Web、WinForm窗体表单数据的填充、收集、清除,和到数据库的CRUD
- C# 程序中如何向(DEV)ComboBoxEdit控件中添加下拉列表的值不使用数据绑定,就是使用代码添加
- 使用 SQL 语句从数据库一个表中随机获取一些数据
- 怎样用JS获取DataGrid中CheckBox是否选中,并且取得该行的DataGrid数据?
- struts2如何取得数据库中的数据并且传到页面
- C# 如何获取本地数据库SQL Server的数据库服务器名称和数据库名称?然后连接,代码怎么写?
- 巧妙使用JQuery Clone 添加多行数据,并更新到数据库的实现代码
- JAVA程序通过后台登陆网站,获取Session,然后再POST Http Request添加数据到数据库的实例
- 数据库中数据导入前的验证并且转换代码.
- 将文本文件中的数据读取到一个二维数组中,求出这些数据的中位数,然后求所有数据与中位数的差值的绝对值和,并求出和的最小值,最后把程序运行的结果写到一个txt文件中
- javaWeb使用servlet并且连接数据库向数据库插入数据
- 使用 SQL 语句从数据库一个表中随机获取一些数据
- 使用SQL语句从数据库一个表中随机获取数据
- 使用 SQL 语句从数据库一个表中随机获取一些数据