if (TextBox1.Text != "") {
a = a + " and 网点名称=@wm ";
h1.Add("@wm", TextBox1.Text);
}
if (TextBox2.Text != "") {
a = a + " and 交易类型=@lx ";
h1.Add("@lx", TextBox2.Text);
}
if (txtCardID.Text != "") {
a = a + " and 银行卡号 like '%'+@kh+'%'";
h1.Add("@kh", txtCardID.Text);
}
7 个解决方案
#1
select * from xxx where datefield between @a and @b
你用参数化查询,给参数a和b赋值就行了
你用参数化查询,给参数a和b赋值就行了
#2
DateTime dt;
if (DateTime.TryParse(TimeStart.Text, out dt))
{
a = a + " and 时间 <= @TimeStart;
h1.Add("@TimeStart", dt);
}
类似上面的
然后你的like也是错误的,应该是下面这种
a = a + " and 银行卡号 like @kh";
h1.Add("@kh", "%"+txtCardID.Text+"%");
#3
这样吗?
if (txtStartTime.Text != "" && txtEndTime.Text != "") {
a = a + " datefield between @kaish and @jieshu ";
h1.Add("@kaishi", txtStartTime.Text);
h1.Add("@jieshu", txtEndTime.Text);
}
#4
非常感谢用你的方法我做出来了。就是有点不理解能讲讲吗--
#6
select * from table where time1>='starttime' and time2<='endtime' and name like'%a%' and .....
需要条件一直往后面加,但是要考虑性能问题,大数据量这么写肯定查询很慢
需要条件一直往后面加,但是要考虑性能问题,大数据量这么写肯定查询很慢
#7
SQL语句的基础知识你需要恶补了
先弄明白在数据库里怎么查询,然后代码里实现这个SQL语句的拼接就行了
#1
select * from xxx where datefield between @a and @b
你用参数化查询,给参数a和b赋值就行了
你用参数化查询,给参数a和b赋值就行了
#2
DateTime dt;
if (DateTime.TryParse(TimeStart.Text, out dt))
{
a = a + " and 时间 <= @TimeStart;
h1.Add("@TimeStart", dt);
}
类似上面的
然后你的like也是错误的,应该是下面这种
a = a + " and 银行卡号 like @kh";
h1.Add("@kh", "%"+txtCardID.Text+"%");
#3
select * from xxx where datefield between @a and @b
你用参数化查询,给参数a和b赋值就行了
这样吗?
if (txtStartTime.Text != "" && txtEndTime.Text != "") {
a = a + " datefield between @kaish and @jieshu ";
h1.Add("@kaishi", txtStartTime.Text);
h1.Add("@jieshu", txtEndTime.Text);
}
#4
select * from xxx where datefield between @a and @b
你用参数化查询,给参数a和b赋值就行了
非常感谢用你的方法我做出来了。就是有点不理解能讲讲吗--
#5
#6
select * from table where time1>='starttime' and time2<='endtime' and name like'%a%' and .....
需要条件一直往后面加,但是要考虑性能问题,大数据量这么写肯定查询很慢
需要条件一直往后面加,但是要考虑性能问题,大数据量这么写肯定查询很慢
#7
select * from xxx where datefield between @a and @b
你用参数化查询,给参数a和b赋值就行了
非常感谢用你的方法我做出来了。就是有点不理解能讲讲吗--
SQL语句的基础知识你需要恶补了
先弄明白在数据库里怎么查询,然后代码里实现这个SQL语句的拼接就行了