C# SQL数据查询 OR功能 求解
StringBuildersb=newStringBuilder();sb.Append("Select学号,姓名,性别,专业,出生年月,入学时间from学生信息wher...
StringBuilder sb = new StringBuilder();
sb.Append("Select 学号,姓名,性别,专业,出生年月,入学时间 from 学生信息 where 1=1 ");
if (textBox1.Text != "")
{
sb.Append(" or 学号 like '%" + this.textBox1.Text.Trim() + "%'");
}
if (textBox2.Text != "")
{
sb.Append(" or 姓名 like '%" + this.textBox2.Text.Trim() + "%'");
}
if (textBox3.Text != "")
{
sb.Append(" or 性别 like '" + this.textBox3.Text.Trim() + "'");
}
if (comboBox1.Text != "")
{
sb.Append(" or 专业 like '" + this.comboBox1.Text.Trim() + "'");
}
adap.SelectCommand = new OleDbCommand(sb.ToString(),conn);
ds.Clear();
adap.Fill(ds,"学生信息");
dataGridView1.DataSource = ds.Tables["学生信息"];
应该如何修改?能实现OR条件查询
用其他语句也可以 展开
sb.Append("Select 学号,姓名,性别,专业,出生年月,入学时间 from 学生信息 where 1=1 ");
if (textBox1.Text != "")
{
sb.Append(" or 学号 like '%" + this.textBox1.Text.Trim() + "%'");
}
if (textBox2.Text != "")
{
sb.Append(" or 姓名 like '%" + this.textBox2.Text.Trim() + "%'");
}
if (textBox3.Text != "")
{
sb.Append(" or 性别 like '" + this.textBox3.Text.Trim() + "'");
}
if (comboBox1.Text != "")
{
sb.Append(" or 专业 like '" + this.comboBox1.Text.Trim() + "'");
}
adap.SelectCommand = new OleDbCommand(sb.ToString(),conn);
ds.Clear();
adap.Fill(ds,"学生信息");
dataGridView1.DataSource = ds.Tables["学生信息"];
应该如何修改?能实现OR条件查询
用其他语句也可以 展开
2个回答
展开全部
你这拼出来的语句是错的
StringBuilder sb = new StringBuilder();
string sql="Select 学号,姓名,性别,专业,出生年月,入学时间 from 学生信息 where 1=1 and ({0})";
string type=" or ";
if (textBox1.Text != "")
{
sb.Append(type+"学号 like '%" + this.textBox1.Text.Trim() + "%'");
}
if (textBox2.Text != "")
{
sb.Append(type+"姓名 like '%" + this.textBox2.Text.Trim() + "%'");
}
if (textBox3.Text != "")
{
sb.Append(type+"性别 like '" + this.textBox3.Text.Trim() + "'");
}
if (comboBox1.Text != "")
{
sb.Append(type+"专业 like '" + this.comboBox1.Text.Trim() + "'");
}
sql=string.Format(sql,sb.ToString().Trim(type.ToCharArray()));
adap.SelectCommand = new OleDbCommand(sql,conn);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询