我总通过两textbox设置查询源数据,第一个textbox可以查询,第二个也可以,两个结合一起也可以查询。写代码如下,
string strRowFlr = ""; //过滤字符串
if (this.MemberIdTxt.Text.Trim() != "")//设置表的过滤条件
strRowFlr += "MemberID like '" + MemberIdTxt.Text.Trim() + "' ";
if (this.MemberNameTxt.Text.Trim() != "")
{
if (strRowFlr!="")
{
strRowFlr += " and ";
}
strRowFlr += "MemberName like '%" + MemberNameTxt.Text.Trim() + "%'";
}
调试输入有提示错误,请问哪里有问题,可以贴你的代码让我参考下,谢谢
string strRowFlr = ""; //过滤字符串
if (this.MemberIdTxt.Text.Trim() != "")//设置表的过滤条件
strRowFlr += "MemberID like '" + MemberIdTxt.Text.Trim() + "' ";
if (this.MemberNameTxt.Text.Trim() != "")
{
if (strRowFlr!="")
{
strRowFlr += " and ";
}
strRowFlr += "MemberName like '%" + MemberNameTxt.Text.Trim() + "%'";
}
调试输入有提示错误,请问哪里有问题,可以贴你的代码让我参考下,谢谢
string strRowFlr = ""; //过滤字符串
if (this.MemberIdTxt.Text.Trim() != "")//设置表的过滤条件
strRowFlr += "MemberID like '" + MemberIdTxt.Text.Trim() + "' ";
if (this.MemberNameTxt.Text.Trim() != "")
{
if (strRowFlr!="")
{
strRowFlr += " and ";
}
strRowFlr += "MemberName like '%" + MemberNameTxt.Text.Trim() + "%'";
}
调试输入有提示错误,请问哪里有问题,可以贴你的代码让我参考下,谢谢
MemberID是数值型还是字符型?
你的查询是拼接SQL语句还是用DataTable或者DataView过滤?
建议还是自己单步调试。
{
string strRowFlr = "";
StringBuilder sb = new StringBuilder();
if (this.checkBox1.Checked)
sb.Append(string.Format("MemberID = '{0}'", this.MemberIdTxt.Text.Trim()));
if(this.checkBox2.Checked)
{
if (sb.Length > 0)
sb.Append(" and ");
sb.Append(string.Format("MemberName like '{0}'", this.MemberNameTxt.Text.Trim()));
}
strRowFlr = sb.ToString();
if (strRowFlr!="") //存在查询条件
{ strRowFlr = strRowFlr.Substring(0, strRowFlr.Length - 5);
this.dtable.DefaultView.RowFilter = strRowFlr;
this.MemberDataAdapter.Fill(this.dtable);
dataGridView1.DataSource = this.dtable;
}
}
MemberID是字符型,DataTable过滤,调试到最后一行dataGridView1.DataSource = this.dtable;
报错:System.Data.EvaluateException:筛选表达式“MemberID”的计算结果不是布尔值项,麻烦楼上帮我看一下
你跟踪一下,到最后 strRowFlr 是什么内容,是不是由于引号的原因啊。
就ok,谢谢各位。