这可能很简单,而且之前已经回答过,但我不知道如何寻找确切的方法。
- >我的表单中有两个列表框。一个是产品名称,另一个是公司名称。
- >在页面加载时,Listbox1
将从database(Product name)
检索值。从listbox1
中选择项目后,应在listbox2
中提取相应的公司名称。
例如:数据库名称为Motor
这是我的表名为“Register”,它包含两列,
Productname Companyname
Car Bmw
Bike Bmw
Car Honda
Bike Honda
我的问题是
我将产品名称详细信息检索到listbox1
,这里的事情是我不想重复相同的项目,所以我使用了这样的Distinct,
Select Distinct Productname from Register
现在,如果我从列表框1中选择汽车,则相应的公司名称应显示在listbox2中。但是我的列表框2上只有本田而且没有宝马。
Sqlcommand cmd=new Sqlcommand("Select Companyname from Register where Productname='"+listbox1.selecteditem+"'",con);
Sqldatareader dr=cmd.Executereader();
while(dr.Read())
{
string a=dr.GetString(0);
listbox2.items.add(a);
}
这是用于将值检索到listbox2的查询。我使用datareader来读取并从数据库中获取值。
我不知道该怎么做。希望我不要混淆你。所以任何帮助都会对我更有帮助,并提前感谢。
答案 0 :(得分:0)
你试过吗,
Select Companyname from Register
where Productname='"+listbox1.GetItemText(listbox1.SelectedItem)+"'
答案 1 :(得分:0)
试试这个..
Sqlcommand cmd=new Sqlcommand("Select Companyname from Register where Productname='"+listbox1.selecteditem.toString()+"'",con);
Sqldatareader dr=cmd.Executereader();
listbox2.items.clear();
while(dr.Read())
{
string a=dr['Companyname'].toString();
listbox2.items.add(a);
}
答案 2 :(得分:0)
将仅从表中获取第一行..
使用 string a = dr [“companyname”]。toString(); listbox2.items.add(一);
这可以解决你的问题。