Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从“distinct”列获取值?_C#_Sql_Winforms_Ado.net - Fatal编程技术网

C# 如何从“distinct”列获取值?

C# 如何从“distinct”列获取值?,c#,sql,winforms,ado.net,C#,Sql,Winforms,Ado.net,这可能是一个简单的问题,以前也有人回答过,但我不知道如何寻找确切的方法 ->我的表格中有两个列表框。一个是产品名称,另一个是公司名称 ->在页面加载时,Listbox1将从databaseProduct name中检索值。从列表框1中选择项目后,应在列表框2中获取相应的公司名称 例如:数据库名为Motor 这是我的表,名为Register,它包含两列 Productname Companyname Car Bmw Bike

这可能是一个简单的问题,以前也有人回答过,但我不知道如何寻找确切的方法

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

->在页面加载时,Listbox1将从databaseProduct name中检索值。从列表框1中选择项目后,应在列表框2中获取相应的公司名称

例如:数据库名为Motor

这是我的表,名为Register,它包含两列

Productname        Companyname

Car                 Bmw
Bike                Bmw
Car                 Honda
Bike                Honda
我的问题是

我将产品名称详细信息检索到listbox1中,这里的问题是我不想重复相同的项目,所以我使用了Distinct,如下所示

Select Distinct Productname from Register
现在,如果我从列表框1中选择car,则相应的公司名称应显示在列表框2中。但我得到的是我的listbox2上唯一的本田,而不是宝马

我猜这些事情的发生只是因为“不同”。但我不知道该怎么做。希望我不会把你弄糊涂。所以任何帮助都会对我更有帮助,提前谢谢

更新


这是用于将值检索到listbox2中的查询。我使用datareader读取并获取值。

假设您有一个名为database的表!具有Productname、Companyname的结构 在页面加载时获取产品名称的查询为

Select Distinct Productname from database
当Listbox1上的所选项目发生更改时,您需要运行下面的查询以获取公司名称并进行填充 列表框2:

Select Distinct Companyname from database where UPPER(Productname)  = UPPER(Listbox1.selectedItem)

您需要调查什么是Listbox1.selectedItem(列表框1.selectedItem),如果您得到一些有线结果。

据我所知,有几件事: 我可能是您正在使用Datareader1,而不是从datareader 0开始。 我尝试使用datatable并检查是否在datatable对象中获取所有值。 下面的代码对我有用,我尝试将Product和company列放在同一个表中,并使用下面的查询

"Select Distinct(Companyname) Company from DatabaseTable where Productname  = '"+Listbox1.selectedItem.text+"'";

我得到了您需要的输出。

您能提供用于获取公司名称的查询吗?我已经添加了@VitapRamdevputraNot查询,请提供您在传递产品名称时用于检索公司名称的查询,@Guru查看我的更新问题。我已经在Update字段下添加了查询。Krishy,应该有一个表示产品的唯一值,类似于产品代码,并且应该在公司名称表的as-foreign-key中使用相同的值,然后只能为每个产品唯一地检索。我已经尝试过了。我可以找回本田,但我没有宝马。我需要显示与特定产品名称相关的所有公司。我希望您现在明白了。Listbox1.selectedItem的值是什么?正如我前面提到的,我使用distinct将值检索到Listbox1中。所以我只会有汽车和自行车。在这里,如果我选择car,那么listbox2应该检索与所选产品名称匹配的companynamesBMW和Honda。尝试使用UPPER函数更新答案,让我知道我使用ur方法尝试过的结果,但它不起作用。仍然只得到最后的值,即本田仅显示。
"Select Distinct(Companyname) Company from DatabaseTable where Productname  = '"+Listbox1.selectedItem.text+"'";