我建了“地区表”“北京单位”“天津单位”“北京公司数据”,要从文本框输入条件,遍历相应的数据表,有相同值就执行查询,没有相同值就提示重输入,输入空值就查询所有数据,
先从地区表查下一级表的名字,比如输入“北京”,就可以从地区表查到“北京单位“,
从北京单位查出北京公司数据;
例如,三个文本框分别输入:北京,北京大学,学生人数
高手指点如何遍历数据库。如何从数据集读取单一值做为下一级查询的条件,
var dq = textBox1.Text;
var dw = textBox2.Text;
var sj = textBox3.Text;
SqlConnection con = new SqlConnection
("Server=LocalHost;DataBase=数据查询映射;Uid=sa;pwd=111;");
con.Open();
DataSet ds=new DataSet();
if (dq != “”)
{ \\在这遍历数据库
if (dw != “”)
{\\在这遍历数据库 if (sj != “”)
{\\在这遍历数据库 SqlDataAdapter DQ = new SqlDataAdapter("select dqID,单位表名 from 地区表 where 地区='"+dq+"'", con);
//填入数据集ds中的dqb(地区)表 int numberOfRows1 = DQ.Fill(ds,"dqb");\\如何读取单一值
//读取数据集ds中表dqb的单一值--单位名
var DWname = ds.Tables["dqb"].Rows[0][1].ToString(); SqlDataAdapter DW = new SqlDataAdapter
("select ID,数据表名 from '"+DWname+"' where 单位='"+dw+"'",con);\\如何用单一值值作为查询条件
int numberOfRows2 = DW.Fill(ds,"dwb");
var SJname = ds.Tables["dwb"].Rows[0][1].ToString();
SqlDataAdapter SJ = new SqlDataAdapter
("select ID,数据名 from '"+SJname+"' where 数据名='"+sj+"'",con);
SJ.Fill(ds, "sjb");
dataGridView1.DataSource = ds.Tables["dqb"];
dataGridView1.DataSource = ds.Tables["dwb"];
dataGridView1.DataSource = ds.Tables["sjb"]; }
} }
先从地区表查下一级表的名字,比如输入“北京”,就可以从地区表查到“北京单位“,
从北京单位查出北京公司数据;
例如,三个文本框分别输入:北京,北京大学,学生人数
高手指点如何遍历数据库。如何从数据集读取单一值做为下一级查询的条件,
var dq = textBox1.Text;
var dw = textBox2.Text;
var sj = textBox3.Text;
SqlConnection con = new SqlConnection
("Server=LocalHost;DataBase=数据查询映射;Uid=sa;pwd=111;");
con.Open();
DataSet ds=new DataSet();
if (dq != “”)
{ \\在这遍历数据库
if (dw != “”)
{\\在这遍历数据库 if (sj != “”)
{\\在这遍历数据库 SqlDataAdapter DQ = new SqlDataAdapter("select dqID,单位表名 from 地区表 where 地区='"+dq+"'", con);
//填入数据集ds中的dqb(地区)表 int numberOfRows1 = DQ.Fill(ds,"dqb");\\如何读取单一值
//读取数据集ds中表dqb的单一值--单位名
var DWname = ds.Tables["dqb"].Rows[0][1].ToString(); SqlDataAdapter DW = new SqlDataAdapter
("select ID,数据表名 from '"+DWname+"' where 单位='"+dw+"'",con);\\如何用单一值值作为查询条件
int numberOfRows2 = DW.Fill(ds,"dwb");
var SJname = ds.Tables["dwb"].Rows[0][1].ToString();
SqlDataAdapter SJ = new SqlDataAdapter
("select ID,数据名 from '"+SJname+"' where 数据名='"+sj+"'",con);
SJ.Fill(ds, "sjb");
dataGridView1.DataSource = ds.Tables["dqb"];
dataGridView1.DataSource = ds.Tables["dwb"];
dataGridView1.DataSource = ds.Tables["sjb"]; }
} }
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货