private void Search()
{
string ssql = "select distinct a.STAFF_ID,a.CNNAME,a.DEPT,a.TECHPOS,a.EDULEVEL,a.ATTACH_DATE,b.M_SKILL,b.M_TYPE,c.LANGUAGE";
ssql += " from D_STAFF_BASE a,D_SKILL_VIEW b,D_STAFF_LANG_ABILITY c";
//根据姓名查询
if (this.TextBox1.Text.Trim() != "")
{
ssql += " where a.CNNAME='"+this.TextBox1.Text.Trim()+"'";
} //根据技能查询
if (this.TextBox3.Text.Trim() != "")
{
ssql += " where b.M_SKILL='"+this.TextBox3.Text.Trim()+"'or b.M_TYPE='"+this.TextBox3.Text.Trim()+"'";
} //根据语言查询
if (this.Languageddl.SelectedValue!="")
{
ssql += " where c.LANGUAGE='"+this.Languageddl.DataValueField+"'";
}
//根据职称查询
if (this.Techposddl.SelectedValue != "")
{
ssql += " where a.TECHPOS='"+this.Techposddl.DataValueField+"'";
}
if (this.Deptddl.SelectedValue != "")
{
ssql += " where a.DEPT='"+this.Deptddl.DataValueField+"'";
}
//GridView1.DataSourceID = "SqlDataSource1";
this.SqlDataSource1.SelectCommand = ssql;
this.DataBind();
}
根据不同的情况查询,我的这个SQL语句老是写不对,应该怎么写啊?
{
string ssql = "select distinct a.STAFF_ID,a.CNNAME,a.DEPT,a.TECHPOS,a.EDULEVEL,a.ATTACH_DATE,b.M_SKILL,b.M_TYPE,c.LANGUAGE";
ssql += " from D_STAFF_BASE a,D_SKILL_VIEW b,D_STAFF_LANG_ABILITY c";
//根据姓名查询
if (this.TextBox1.Text.Trim() != "")
{
ssql += " where a.CNNAME='"+this.TextBox1.Text.Trim()+"'";
} //根据技能查询
if (this.TextBox3.Text.Trim() != "")
{
ssql += " where b.M_SKILL='"+this.TextBox3.Text.Trim()+"'or b.M_TYPE='"+this.TextBox3.Text.Trim()+"'";
} //根据语言查询
if (this.Languageddl.SelectedValue!="")
{
ssql += " where c.LANGUAGE='"+this.Languageddl.DataValueField+"'";
}
//根据职称查询
if (this.Techposddl.SelectedValue != "")
{
ssql += " where a.TECHPOS='"+this.Techposddl.DataValueField+"'";
}
if (this.Deptddl.SelectedValue != "")
{
ssql += " where a.DEPT='"+this.Deptddl.DataValueField+"'";
}
//GridView1.DataSourceID = "SqlDataSource1";
this.SqlDataSource1.SelectCommand = ssql;
this.DataBind();
}
根据不同的情况查询,我的这个SQL语句老是写不对,应该怎么写啊?
{
string ssql = "select distinct a.STAFF_ID,a.CNNAME,a.DEPT,a.TECHPOS,a.EDULEVEL,a.ATTACH_DATE,b.M_SKILL,b.M_TYPE,c.LANGUAGE";
ssql += " from D_STAFF_BASE a,D_SKILL_VIEW b,D_STAFF_LANG_ABILITY c where 1=1 ";
//根据姓名查询
if (this.TextBox1.Text.Trim() != "")
{
ssql += " and a.CNNAME='"+this.TextBox1.Text.Trim()+"'";
} //根据技能查询
if (this.TextBox3.Text.Trim() != "")
{
ssql += " and b.M_SKILL='"+this.TextBox3.Text.Trim()+"'or b.M_TYPE='"+this.TextBox3.Text.Trim()+"'";
} //根据语言查询
if (this.Languageddl.SelectedValue!="")
{
ssql += " and c.LANGUAGE='"+this.Languageddl.DataValueField+"'";
}
//根据职称查询
if (this.Techposddl.SelectedValue != "")
{
ssql += " and a.TECHPOS='"+this.Techposddl.DataValueField+"'";
}
if (this.Deptddl.SelectedValue != "")
{
ssql += " and a.DEPT='"+this.Deptddl.DataValueField+"'";
}
//GridView1.DataSourceID = "SqlDataSource1";
this.SqlDataSource1.SelectCommand = ssql;
this.DataBind();
}你好像还没有加表之间的关联
然后
//根据姓名查询
if (this.TextBox1.Text.Trim() != "")
{
ssql += " and a.CNNAME='"+this.TextBox1.Text.Trim()+"'";
}
后面的都将“Where”改为“and”
this.SqlDataSource1.SelectCommand = ssql;
之前,把ssql打印出来或者单步调试一下,看是什么SQL语句,然后放到数据库里执行一次,看报什么错,那就什么都明白了。ps,功底有待于加强,这种错误应该很容易排除的。
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
呵呵