C# Sql select语句根据用户选择获取值

C# Sql select语句根据用户选择获取值,c#,mysql,sql,.net,sql-server-2008,C#,Mysql,Sql,.net,Sql Server 2008,我正在开发一个应用程序,用户可以使用数据库中的目的地进行搜索。最高优先级是到达目的地。然后在高级搜索选项中,我必须为用户提供选择 性别 车辆类型 交流/非交流 票价 布局是这样的 需要进行的操作: 我必须根据用户选择从数据库生成listview。用户一次最多可选择4个参数,bt可选择1个或2个或3个随机选项。现在,基于我的数据库体系结构,我不知道如何调用它。任何建议都会更有帮助,因为我已经坚持了好几个小时了。塔克斯 编辑: 现在,我创建了一个视图来给出我的答案。只剩下最后一个错误。根据不同的

我正在开发一个应用程序,用户可以使用数据库中的目的地进行搜索。最高优先级是到达目的地。然后在高级搜索选项中,我必须为用户提供选择

性别 车辆类型 交流/非交流 票价 布局是这样的

需要进行的操作:

我必须根据用户选择从数据库生成listview。用户一次最多可选择4个参数,bt可选择1个或2个或3个随机选项。现在,基于我的数据库体系结构,我不知道如何调用它。任何建议都会更有帮助,因为我已经坚持了好几个小时了。塔克斯

编辑:

现在,我创建了一个视图来给出我的答案。只剩下最后一个错误。根据不同的参数填充重复条目。就像用户A有2个2轮和1个4轮一样,显示了三次。类似地,拥有2辆车的用户将获得重复的名称条目。屏幕截图如下:

我的问题-

SELECT     TOP (100) PERCENT T.name, TM.source_latitude, TM.source_longitude, TM.trvl_day, TM.trvl_time, TM.dest_latitude, TM.dest_longitude, T.email, T.contactno, TM.trvl_source, TM.Trvl_vehicle, 
                  TM.Seats_available, T.gender, TM.user_id, TM.trvl_destination, dbo.tbl_vh.type, dbo.tbl_vh.AcNonAc, dbo.tbl_vh.kmrate FROM         dbo.tbl_reg1 AS T INNER JOIN
                  dbo.Travel_master AS TM ON T.userid = TM.user_id INNER JOIN
                  dbo.tbl_vh ON TM.user_id = dbo.tbl_vh.userid WHERE     (TM.trvl_destination LIKE '%' + @trvl_destination + '%') AND (T.gender = ISNULL(@gender, T.gender)) AND (dbo.tbl_vh.type = ISNULL(@type, dbo.tbl_vh.type)) AND 
                  (dbo.tbl_vh.kmrate = ISNULL(@kmrate, dbo.tbl_vh.kmrate)) AND (dbo.tbl_vh.AcNonAc = ISNULL(@AcNonAc, dbo.tbl_vh.AcNonAc)) ORDER BY TM.trvl_day

好吧,现在我做了我想做的。在“姓名”和“日期”列中进行了勾选。最终查询如下

SELECT DISTINCT TOP (100) PERCENT T.name, TM.trvl_day FROM dbo.tbl_reg1 AS T INNER JOIN
                  dbo.Travel_master AS TM ON T.userid = TM.user_id INNER JOIN
                  dbo.tbl_vh ON TM.user_id = dbo.tbl_vh.userid WHERE (TM.trvl_destination LIKE '%' + @trvl_destination + '%') AND (T.gender = ISNULL(@gender, T.gender)) AND (dbo.tbl_vh.type = ISNULL(@type, dbo.tbl_vh.type)) AND 
                  (dbo.tbl_vh.kmrate = ISNULL(@kmrate, dbo.tbl_vh.kmrate)) AND (dbo.tbl_vh.AcNonAc = ISNULL(@AcNonAc, dbo.tbl_vh.AcNonAc)) GROUP BY T.name, TM.trvl_day ORDER BY TM.trvl_day

现在我不知道如何根据我的数据库体系结构来调用它来回答这个问题,我们需要查看您的数据库体系结构。此外,你给出的屏幕截图似乎是一个android系统。Android是用java编写的,所以我不确定是否要将其标记为c。最后,将移动设备直接连接到数据库从来都不是一个好主意。考虑使用/制作一个API服务。我实际上使用Android应用程序来拼车服务。它为.NETWebService提供参数。所以我给c加了标签。在写这个问题的时候,我并没有为这个解决方案编写一个sql查询,所以无法提供数据库的详细信息。现在我得到了我的答案,还有一个错误。结果集中显示重复的实体。请参见编辑plz