繁体   English   中英

如何通过使用SQL查询将所有列值(已应用不同的值)检索到列表框中?

[英]How to retrieve all the column values(distinct had been applied) into listbox by using sql query?

这可能很简单,而且之前已经回答过,但是我不知道如何寻找确切的方法。

->我的表单中有两个列表框。 一种是产品名称,另一种是公司名称。

->在页面加载时, 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中选择汽车,则相应的公司名称应显示在列表框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读取并从数据库中获取值。

我不知道该怎么做。 希望不要让您感到困惑,因此任何帮助都会对我有所帮助,并在此先感谢您。

你试过了吗

    Select Companyname from Register 
    where Productname='"+listbox1.GetItemText(listbox1.SelectedItem)+"'

尝试这个..

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

ur使用字符串a = dr.GetString(0); listbox2.items.add(a);

这将只从表中获取第一行。

使用字符串a = dr [“ companyname”]。toString(); listbox2.items.add(a);

这应该可以解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM