选择性查询数据 我现在要做一个查询工具,数据来自Serversql两个表(内连接),用户可以自己选择需要显示这两个表中任何字段,即查数据的字段,条件,是否要表连接,完全由用户自己选择,点击查询后显示相应数据到Datagridview中。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的意思是通过用户的选择拼一个sql查询语句出来??但是这样的话,那对象类怎么写,两个表中的字段数加起来有三十多。 你可以这样:创建一个强类型DateSet通过反射把所有字段拿到剩下的就是绑定查询 必须用dataset吗?用泛型集合不行吗? select 用户输入的, 用户输入的, 用户输入的,用户输入的 from TableA A inner join TableA B on A.b_id = B.id //也可以将 A.b_id = B.id 替换成用户输入的 LZ其实就是操作sql语句 将用户选择的值作为条件 然后绑定到datagridview就OK了 用户怎么选择呢?可以用下拉框,也就是初始化的时候就将值绑定到下拉框至于怎么绑定我想LZ应该会吧绑定下拉框ex:SqlCommand cmd = new SqlCommand("Select 字段from 表", con);//con连接数据库 SqlDataAdapter sda = new SqlDataAdapter(); sda.SelectCommand = cmd; ds = new DataSet(); dt = new DataTable(); sda.Fill(ds, "Master"); dt = ds.Tables[0]; cmbDataName.DataSource = dt; cmbDataName.DisplayMember = "Name"; cmbDataName.ValueMember = "Name"; cmbDataName.Text = "--请选择--"; 我现在是想用泛型集合再绑定到datagridview中,这样用三层结构比较好维护,但是要是用泛型集合的话,我就要想怎么写对象类,一个活动的对象类 1.界面查询条件选择或输入框;2.sql stringbuilder sb=new stringbuilder();sb.append("select * from tb1,tb2 where 1=1")if(..... )sb.append( and ....).......string sql=sb.tostring();--------可是楼主你的要求“是否要表连接”这个太淡腾了,你还要控制当不要表连接的时候,那些查询条件是不可选用的。淡腾啊 蛮简单的啊。有什么难点?SQL语句拼接引应该没问题吧,让用户选就可以了,选完根据条件拼接SQL语句查询之。查完了就更简单了直接把查询到的结果往DATAGRIDview里面填充就可以了,什么都不用干。没难度 这个结构的XML文件,如何序列化 想问一个关于自己定义集合类型的问题 System.Net.WebClient的DownloadData()方法下载某个网页内容报错,请帮忙!! 哪里有好的打印控件? Sqlparameter参数的问题 C/S中数据库连接字符串放到哪里? 【【【【【【【【 C#怎么检测Img的链接? 】】】】】】】 复制对象的问题 请问“无纸化办公”是一个什么样的观念?对程序员有什么要求。 看看这里 面向对象(OO)的学习指导 循环中发生异常,处理如何异常可以让接下来的循环继续进行?
创建一个强类型DateSet
通过反射把所有字段拿到
剩下的就是绑定查询
from TableA A inner join TableA B on A.b_id = B.id //也可以将
A.b_id = B.id 替换成用户输入的
可以用下拉框,也就是初始化的时候就将值绑定到下拉框
至于怎么绑定我想LZ应该会吧
绑定下拉框ex:SqlCommand cmd = new SqlCommand("Select 字段from 表", con);//con连接数据库
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = cmd;
ds = new DataSet();
dt = new DataTable();
sda.Fill(ds, "Master"); dt = ds.Tables[0];
cmbDataName.DataSource = dt;
cmbDataName.DisplayMember = "Name";
cmbDataName.ValueMember = "Name";
cmbDataName.Text = "--请选择--";
2.
sql stringbuilder sb=new stringbuilder();sb.append("select * from tb1,tb2 where 1=1")
if(..... )
sb.append( and ....).......
string sql=sb.tostring();--------
可是楼主
你的要求“是否要表连接”
这个太淡腾了,你还要控制当不要表连接的时候,那些查询条件是不可选用的。淡腾啊
SQL语句拼接引应该没问题吧,让用户选就可以了,选完根据条件拼接SQL语句查询之。查完了就更简单了直接把查询到的结果往DATAGRIDview里面填充就可以了,什么都不用干。没难度