这可能很简单,而且之前已经回答过,但我不知道如何寻找确切的方法。
- >我的表单中有两个列表框。一个是产品名称,另一个是公司名称。
- >在页面加载时,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上只有本田而且没有宝马。
我猜这些事情只是因为'Distinct'而发生。但我不知道该怎么做。希望我不要混淆你。所以任何帮助都会对我更有帮助,并提前感谢。
更新
select Companyname from Register where Productname='"+listbox1.selecteditem+"'
这是用于将值检索到listbox2的查询。我使用datareader来读取和获取值。
答案 0 :(得分:0)
假设您有一个名为database的表!具有(Productname,Companyname)的结构 查询以获取产品名称(在页面加载时)是
Select Distinct Productname from database
当Listbox1上的Selected Item更改时,您需要运行查询以获取公司名称并填充 Listbox2:
Select Distinct Companyname from database where UPPER(Productname) = UPPER(Listbox1.selectedItem)
如果您获得某些有线结果,则需要调查Listbox1.selectedItem
是什么。
答案 1 :(得分:0)
据我所知,很少有事情:
i)您可能正在使用Datareader(1)而不是使用datareader(0)
ii)尝试使用datatable并检查是否在datatable对象中获取了所有值
iii)下面的代码确实适用于我,我尝试将列(产品和公司)放在同一个表中,并使用以下查询..
"Select Distinct(Companyname) Company from DatabaseTable where Productname = '"+Listbox1.selectedItem.text+"'";
我已经得到你需要的输出..