当From窗体中数据变化时,使用代码获取数据库中的数据然后加入combobox中并且从数据库中取得最后的结果

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);
}

}

时间: 2024-10-07 00:24:53

当From窗体中数据变化时,使用代码获取数据库中的数据然后加入combobox中并且从数据库中取得最后的结果的相关文章

在C#中使用正则表达式自动匹配并获取所需要的数据

转自:http://my.oschina.net/bv10000/blog/111736 正则表达式能根据设置匹配各种数据(比如:e-mail地址,电话号码,身份中号码等等).正则表达式功能强大,使用灵活,C#,Java,JavaScript等多种语言都支持正则表达式.在互联网上“抓取数据”更是少不了使用正则表达式.今天我要说的是在C#中使用正则表达式自动匹配并获取所需要的数据. 从下面是某个IP查询网站返回查询结果的一个部分(字符串),现在就是要从这个字符串中获取“查询结果1:”后面的“北京市

v3学院带你学习-时序逻辑中时钟上升沿对齐数据变化时的处理技巧的FPGA实现

此文章为原创出自 V3学院 www.v3edu.org 时序逻辑中,数据都是在时钟的上升沿或者下降沿时刻进行采样的,以上升沿为例,时钟采数据时应该采的是时钟上升沿左边变量的值,运算的结果体现在时钟上升沿的右边,但是,在用modelsim等一些仿真工具进行仿真的时候,如果时钟上升沿刚好和数据变化对齐,就会出现与上述理论不一致的原因,如下仿真波形图: 上图中的例子是用时钟上升沿控制变量a和b按位或运算并且把结果赋值给c的小实验,根据前面说的理论,黄线位置处,时钟上升沿采的变量a和b的值都为0,进行或

001 vs : 调试 - 内存数据变化时变色

/* 目录: 一 设置 : 当内存数据变化 - 变化数据变色 二 测试功能 */ 一 设置 : 当内存数据变化 - 变化数据变色 路径: 1 Vs菜单栏 -> 工具 -> 选项 -> 环境 -> 字体和颜色 2 在显示项 -> 内存数据 3 项前景 -> 选择颜色 二 测试功能 int main() { int i = 3; return 0; } 1  当程序执行完 int i = 3; 2 变量i的内存数据变化3,且变化的数据变红色. 3 在数据比较多的时候,非常方

学会python可以上天!20行代码获取斗鱼平台房间数据,就是这么牛逼!

Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务.它的语法非常简捷和清晰,与其它大多数程序设计语言不一样,它使用缩进来定义语句. Python支持命令式程序设计.面向对象程序设计.函数式编程.面向切面编程.泛型编程多种编程范式.与Scheme.Ruby.Perl.Tcl等动态语言一样,Python具备垃圾回收

vue子组件数据变化同步到父组件中

方法:通过watch监听子组件数据变化 1.父组件中注册方法 <Child @getChildValue="getChildValue"></Child> 2.子组件中通过watch监听数据变化,数据变化时通过$emit来触发方法传参 <template> <div class="child"> <p>子组件同步数据到父组件</p> <input type="text"

jquery ajax请求方式与提示用户正在处理请稍等,等待数据返回时loading的显示

1.jquery ajax请求方式与提示用户正在处理请稍等 为了提高用户体验度,我们通常会给出 “正在处理,请稍等!”诸如此类的提示.我们可通过设置$.ajax()下的参数beforeSend()来实现 初次使用$.ajax() ,我没有去区分过ajax的异步请求和同步请求的不同,刚开始使用同步请求,以至后来出现许多问题,特别在体验度方面.异步和同步:同步意味着执行完一段程序才能执行下一段,它属于阻塞模式,其表现在网页上的现象是——浏览器会锁定页面(即所谓的页面假死状态),用户不能操作其它的,必

在Action中获取表单提交数据

-----------------siwuxie095 在 Action 中获取表单提交数据 1.之前的 Web 阶段是提交表单到 Servlet,在其中使用 Request 对象 的方法获取数据 2.Struts2 是提交表单到 Action,但 Action 没有 Request 对象,不能 直接使用 Request 对象获取数据 「可以间接使用 Request 对象获取数据」 3.Action 获取表单提交数据主要有三种方式: (1)使用 ActionContext 类 (2)使用 Ser

MySQL数据库跨服务器数据同步

1.背景介绍最近公司项目要求与开源项目Zentao做数据对接,因为改动开源项目风险较大,采用将Zentao数据库的相关表与本地数据库同步的方案.由我测试方案的可行性.mysql版本:5.7.20.本地数据库A(作为Zentao数据库),本地数据库B,本地程序C:本地为Windows环境. 2.方案探索方案1项目经理的意思是在A中写触发器,表中数据变化时将ID发给C,由C在A中查询变化的数据,写入B.过程中需要安装mysql-udf-http插件(参考:https://www.2cto.com/d

MYSQL数据库学习九 数据的操作

9.1 插入数据记录 1. 插入完整或部分数据记录: INSERT INTO table_name(field1,field2,field3,...fieldn) VALUES(value1,value2,value3,...valuen); 插入完整数据记录时可以省略字段参数(field1,field2,field3,...fieldn). 注意:在具体开发中,除了“自动增长”约束的字段不需要插入数值外,具有“默认值”约束的字段也不需要插入数值. 2. 插入多条完整或部分数据记录: INSER