C#如何使sql查询的两个表的结果分别显示到两个DateGridView中
代码如下:
private void button1_Click(object sender, EventArgs e)
{
string sql;
//查询
sql = "select * from yuangong,peixun where 1=1";
if (txtID.Text.ToString().Trim() != "") //如果条件不为空,则依次添加所需条件
{
sql = sql + " and bh like '%" + txtID.Text.ToString().Trim() + "%'";
}
if (txtname.Text.ToString().Trim() != "")
{
sql = sql + " and xm like '%" + txtname.Text.ToString().Trim() + "%'";
}
sql = sql + " order by id desc";
getdata(sql); //调用自定义函数getdata,与上同理
}
private void getdata(string sql) //自定义函数getdata
{
DataSet misds = new DataSet();
misds = new Class1().misgetdata(sql);
if (misds != null)
{
//如果查询结果不为空,将结果显示在datagridview1中,绑定
dataGridView1.DataSource = misds.Tables[0];
}
dataGridView1.Columns[0].HeaderCell.Value = "序号";
dataGridView1.Columns[1].HeaderCell.Value = "编号";
dataGridView1.Columns[2].HeaderCell.Value = "姓名";
dataGridView1.Columns[3].HeaderCell.Value = "性别";
dataGridView1.Columns[4].HeaderCell.Value = "电话";
dataGridView1.Columns[5].HeaderCell.Value = "身份证";
dataGridView1.Columns[6].HeaderCell.Value = "邮箱";
dataGridView1.Columns[7].HeaderCell.Value = "岗位";
dataGridView1.Columns[8].HeaderCell.Value = "部门";
dataGridView1.Columns[9].HeaderCell.Value = "地址";
dataGridView1.Columns[10].HeaderCell.Value = "备注";
dataGridView1.Columns[11].HeaderCell.Value = "添加时间";
dataGridView1.Columns[12].HeaderCell.Value = "在职状态";
dataGridView1.Columns[13].HeaderCell.Value = "政治面貌";
dataGridView1.Columns[14].HeaderCell.Value = "职工类别";
dataGridView1.Columns[15].HeaderCell.Value = "籍贯";
dataGridView1.Columns[16].HeaderCell.Value = "出生日期";
}
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
//查询当前鼠标选中的行
string sql;
sql = "select * from yuangong where id=" + dataGridView1.CurrentRow.Cells[0].Value.ToString().Trim();
showdata(sql); //调用函数showdata
}
private void showdata(string sql) //自定义函数showdata
{
DataSet misds = new DataSet();
misds = new Class1().misgetdata(sql);
if (misds != null)
{
//如果查询结果不为空,给各个文本框赋值
bh.Text = misds.Tables[0].Rows[0]["bh"].ToString().Trim();
xm.Text = misds.Tables[0].Rows[0]["xm"].ToString().Trim();
tel.Text = misds.Tables[0].Rows[0]["tel"].ToString().Trim();
sfz.Text = misds.Tables[0].Rows[0]["sfz"].ToString().Trim();
email.Text = misds.Tables[0].Rows[0]["email"].ToString().Trim();
gw.Text = misds.Tables[0].Rows[0]["gw"].ToString().Trim();
addr.Text = misds.Tables[0].Rows[0]["addr"].ToString().Trim();
memo.Text = misds.Tables[0].Rows[0]["memo"].ToString().Trim();
gender.Text = misds.Tables[0].Rows[0]["gender"].ToString().Trim();
bm.Text = misds.Tables[0].Rows[0]["bm"].ToString().Trim();
zzmm.Text = misds.Tables[0].Rows[0]["zzmm"].ToString().Trim();
zglb.Text = misds.Tables[0].Rows[0]["zglb"].ToString().Trim();
jg.Text = misds.Tables[0].Rows[0]["jg"].ToString().Trim();
zhuangtai.Text = misds.Tables[0].Rows[0]["zhuangtai"].ToString().Trim();
birth.Value = DateTime.Parse(misds.Tables[0].Rows[0]["birth"].ToString().Trim());
}
}
private void Getdata(string sql) //自定义函数getdata
{
DataSet misds = new DataSet();
misds = new Class1().misgetdata(sql);
if (misds != null)
{
//如果查询结果不为空,将结果显示在datagridview1中,绑定
dataGridView2.DataSource = misds.Tables[0];
}
dataGridView2.Columns[0].HeaderCell.Value = "序号";
dataGridView2.Columns[1].HeaderCell.Value = "培训开始时间";
dataGridView2.Columns[2].HeaderCell.Value = "培训结束时间";
dataGridView2.Columns[3].HeaderCell.Value = "培训地点";
dataGridView2.Columns[4].HeaderCell.Value = "培训内容";
}
private void dataGridView2_MouseClick(object sender, MouseEventArgs e)
{
//查询当前鼠标选中的行
string sql;
sql = "select * from peixun1 where id=" + dataGridView2.CurrentRow.Cells[0].Value.ToString().Trim();
showdata(sql); //调用函数showdata
}
private void Showdata(string sql) //自定义函数showdata
{
DataSet misds = new DataSet();
misds = new Class1().misgetdata(sql);
if (misds != null)
{
//如果查询结果不为空,给各个文本框赋值
riqi1.Text = misds.Tables[0].Rows[0]["riqi1"].ToString().Trim();
riqi2.Text = misds.Tables[0].Rows[0]["riqi2"].ToString().Trim();
didian.Text = misds.Tables[0].Rows[0]["didian"].ToString().Trim();
nr.Text = misds.Tables[0].Rows[0]["nr"].ToString().Trim();
}
}
可是一运行就在 dataGridView1.Columns[0].HeaderCell.Value = "序号";显示引索超出范围,求各位解决一下