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条件查询
用其他语句也可以
展开
 我来答
syht2000
高粉答主

推荐于2016-06-18 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部

你这拼出来的语句是错的

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);
shuyue_888
2015-11-27 · TA获得超过417个赞
知道小有建树答主
回答量:406
采纳率:84%
帮助的人:309万
展开全部
把1=1改成1=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式