社区
C#
帖子详情
C#windows 窗体combox
gbzgbz
2010-11-12 09:25:06
高手你好,请教一个问题。怎么用lable获取combox中的选项对应的数据库的值。combox中的选项连接一个数据库表中的值,把这个值用lable显示,这个值是个数字,用来计算。
我的数据库就两列,一个是型号,一个是价格。combox中的下拉选项是型号,我的意思是在combox中选一个型号,然后查询数据库,把对应的价格在lable中显示。具体的查询数据库的代码该怎么写,谢谢帮忙!
...全文
273
24
打赏
收藏
C#windows 窗体combox
高手你好,请教一个问题。怎么用lable获取combox中的选项对应的数据库的值。combox中的选项连接一个数据库表中的值,把这个值用lable显示,这个值是个数字,用来计算。 我的数据库就两列,一个是型号,一个是价格。combox中的下拉选项是型号,我的意思是在combox中选一个型号,然后查询数据库,把对应的价格在lable中显示。具体的查询数据库的代码该怎么写,谢谢帮忙!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Herves
2010-11-13
打赏
举报
回复
代码太多了,呵呵,我也刚学窗体不到俩月,可能做的有点复杂,还请高手多指教
Herves
2010-11-13
打赏
举报
回复
我今天也刚好碰到这个题,不过和你的不一样我的是需要选一个值将对应的值显示在另一个combox
我是这么做的,希望能对你有帮助,呵呵:
DBHelep.conn.Close();//这个是连接数据库字段,我定义在一个单独的类里,这样更方便调用,不用每次都去输入
然后执行查询语言// string sql = "select teacherID,teacherName from teacher";//你可以将里面的值自己改一下
在getdate()方法里,我直接调用的,这个是为了让数据更准确,让数据库的商品都自己显示在 comboBox里面,不用手工输入,根据个人爱好;
//这里面的值你自己看着改就好了
string sql = "select teacherID,teacherName from teacher";
try
{
DBHelep.conn.Open();
SqlCommand comm = new SqlCommand(sql, DBHelep.conn);
SqlDataReader dr = comm.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
this.comboBox1.Items.Add(dr[0].ToString());
}//第一个里面放需要查询的东西的数据
this.comboBox1.SelectedIndex = 0;//让他的索引值成第一个
}
else
{
MessageBox.Show("数据库没有任何信息!","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
dr.Close();//关闭SqlDataReader对象
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
MessageBox.Show("连接数据库出错!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
DBHelep.conn.Close();
}
然后再一个类去查询商品价格就行了那个Sql语句
string sql = string Format("select 价格 from 表名 where 型号='{0}',combox.Text");
try
{
DBHelep.conn.Open();
SqlCommand comm = new SqlCommand(sql, DBHelep.conn);
SqlDataReader dr = comm.ExecuteReader();
if (dr.HasRows)//如果返回的是true,也就是说数据库里有记录这个商品的价格
{
this.lable.Text=dr[0].ToString();
//你的商品只有一个价格返回的值也应该就一个 }
else
{
MessageBox.Show("数据库没有任何信息!","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
dr.Close();//关闭SqlDataReader对象
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
MessageBox.Show("连接数据库出错!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
DBHelep.conn.Close();
}
哪里做错的还请各位指教
Chinaxjdyh
2010-11-13
打赏
举报
回复
关注一下~~~
dafei198607
2010-11-13
打赏
举报
回复
貌似我来的更晚
wuguoxian001
2010-11-13
打赏
举报
回复
string name= combobox.text;
写在combox的SelectedIndexChanged事件里。
string str="select 价格 from 表名 where 型号='+combox.Text+'"
lable.text=str;
龍过鸡年
2010-11-12
打赏
举报
回复
其实用 .Net3/3.5/4 利用 DataContext 应该更容易处理些
龍过鸡年
2010-11-12
打赏
举报
回复
根据楼主的描述,回答如下:
1、ComboBoxItem 包含单个型号,应该很好处理
2、ComboBoxItem 包含多个型号
var item = cb.SelectedItem as sting
利用 string.Split 分割
var models = item.Split(
new char[] { ',', '{', '}' },
StringSplitOptions.RemoveEmptyEntries);
models 中存储即为 {} 分割的型号了
baozi22694
2010-11-12
打赏
举报
回复
数据库只有两列为什么不把价格作为下拉框的value的值,型号作为显示的值,这样在SelectedIndexChanged这个事件里面直接把value给label不就是了
baozi22694
2010-11-12
打赏
举报
回复
[Quote=引用 4 楼 philipsboya 的回复:]
string str="select 价格 from 表名 where 型号='+combox.Text+'";
label.Text=str;
如楼上所说,写在combox的SelectedIndexChanged事件里。
[/Quote]
str是个SQL语句啊
quifar123
2010-11-12
打赏
举报
回复
发生在combox的 SelectedIndexChanged事件中,string sql="select 价格 from 表名 where 型号='"+combox.Text+"'";在用个sqldatareader 读取
if(objreader.Read())
{
leble1.text=objreader["价格名称"].tostring();
}
xugan666
2010-11-12
打赏
举报
回复
显示啊。读取comboBox的值
string name= combobox.text;
丢过去查询。查询Dataset。把值取出来。
如果有实体就更简单了。下面是无实体的
sql
select 价格 from 表 where 型号=@型号
decimal money=decimal.Parse(ds.Table[0].rows[i]cell[1].value)//i代表你是否需要循环,不循环就0
chenmotiandi
2010-11-12
打赏
举报
回复
在绑定comboBox的数据的时候
DataTable dt=new DataTable();
//获取dt数据,Sql语句:select 价格,型号 from 表名
comboBox1.DisplayMember = "型号";//显示出来的列的值
comboBox1.ValueMember = "价格";//作为combobox的Value值
comboBox1.DataSource = dt;
然后在combox的SelectedIndexChanged事件里代码写:
label.Text=comboBox1.SelectedValue.ToString();
air123456789
2010-11-12
打赏
举报
回复
[Quote=引用 4 楼 philipsboya 的回复:]
string str="select 价格 from 表名 where 型号='+combox.Text+'";
label.Text=str;
如楼上所说,写在combox的SelectedIndexChanged事件里。
[/Quote]
label.Text=str; ?
liangzhl
2010-11-12
打赏
举报
回复
来晚了。。。。。。。。。
youcaihua123
2010-11-12
打赏
举报
回复
都争先回答这个问题,好
guyoujing
2010-11-12
打赏
举报
回复
楼上的都是正解。。。。。
laomengzi
2010-11-12
打赏
举报
回复
三个价格放在数据库中吗?你把他们提取出来显示就行了啊
philipsboya
2010-11-12
打赏
举报
回复
string str="select 价格 from 表名 where 型号='+combox.Text+'";
label.Text=str;
如楼上所说,写在combox的SelectedIndexChanged事件里。
gao3685447
2010-11-12
打赏
举报
回复
string str="select 价格 from 表名 where 型号='+combox.Text+'"
用combox indextchange 时间调用 给lable赋值
air123456789
2010-11-12
打赏
举报
回复
写在combox的SelectedIndexChanged事件里。
加载更多回复(2)
C#
winform简单操作
本文介绍了如何在
C#
Windows
应用程序的Winform中,将
Com
bo
Box
控件集成到DataGridView中,包括数据绑定、动态生成控件以及处理选中行事件的方法。同时,文章展示了如何从数据库获取数据并更新控件状态,以及处理用户交互如
Com
bo
Box
的选择改变事件。,
【硬件电源管理】基于PWRBRK信号的紧急功耗控制机制:PCIe设备应急降功耗状态与软件可见性设计
内容概要:本文档为PCI-SIG工程变更通知(ECN),提出了一种通过PWRBRK信号实现的紧急功耗降低机制,旨在标准化PCI Express扩展卡与系统间的应急功耗控制。该机制利用原保留引脚B30作为PWRBRK#信号引脚,支持系统在紧急情况下快速通知扩展卡进入低功耗状态,以防止硬件损坏。文档详细定义了电气特性、时序要求、配置寄存器字段(如Device Capabilities 2、Device Control 2和Device Status寄存器)以及多设备和虚拟化环境下的行为规范,并补充了SR-IOV环境中虚拟功能(VF)对应急功耗降低状态的支持方式。; 适合人群:从事PCIe硬件设计、固件开发或系统架构的工程师,特别是
web课程设计-学生管理系统项目阐述
web课程设计-学生管理系统项目阐述
openssh 10.4p1-openEuler 24.03.zip
备份ssh配置文件: cp /etc/pam.d/sshd /etc/pam.d/sshdbak cp /etc/ssh/sshd_config /etc/ssh/sshd_configbak 完成安装后: 恢复/etc/pam.d/sshd文件: cat /etc/pam.d/sshdbak > /etc/pam.d/sshd 启动sshd: ******千万不要systemctl restart sshd ****** 而直接用下面的命令start systemctl start sshd 如果启动失败,可以journalctl -n 20 -f -u sshd 查看错误信息
Android蓝牙打印Demo(cpcl指令)
代码下载地址: https://pan.quark.cn/s/a4b39357ea24 在Android系统上达成蓝牙与便携式打印机的连接,通常包含了一系列技术要素和操作流程。名为"Android连接蓝牙打印机(cpcl指令)Demo完整版"的项目提供了一个全面的解决方案,它运用了专门的打印机指令集——CPCL(Control Program for ClearType Language),该指令集主要用于操控打印作业,尤其适用于标签和面单的打印。以下是关于此主题的详尽阐述: 1. **蓝牙传输打印**:Android平台内置了`BluetoothAdapter`类别用于管理蓝牙数据交互。必须确认设备已启用蓝牙功能,随后对邻近的蓝牙设备进行探测。`startDiscovery()`函数负责启动搜寻过程,而`getBondedDevices()`能够列出已建立配对的设备。 2. **建立与便携打印机的联系**:当识别出目标打印机后,可借助`BluetoothDevice`类中的`createRf
com
mSocketToServiceRecord()`函数构建RF
COM
M(蓝牙串行端口协议)的通道。一旦连接建立成功,便可通过`connect()`函数与打印机展开信息交流。 3. **CPCL编码**:CPCL是一种与ESC/POS类似的页面描述性语言,它用于调控打印机的输出格式、文字样式、条形码等。比如,`^PJL`用于设定页面布局,`^FO`指定输出位置,`^A`设定字体尺寸,`^BC`生成条形码,`^PG`执行分页操作。在Android程序中,需将CPCL编码转为文本格式,再经由蓝牙通道传输至打印机。 4. **博思达软件开发工具包**:博思达作为一家著名的打印...
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章