select * from dbo.[Report] where ID like %1% or Report_num like %1% or ID like %ehs% or Report_num like %ehs% order by ID ;消息 102,级别 15,状态 1,第 1 行 '1' 附近有语法错误。
select * from dbo.[Report] where ID like '%1% 'or Report_num like '%1% 'or ID like '%ehs% 'or Report_num like' %ehs%' order by ID
select * from dbo.[Report] where ID like '%1% 'or Report_num like '%1%' or ID like '%ehs%' or Report_num like '%ehs%' order by ID
select * from dbo.[Report] where ID like '%1%' or Report_num like '%1%' or ID like '%ehs%' or Report_num like '%ehs%' order by ID LIKE后面加引号,同时注意引号内不能有空格,除非特殊需要。
这个单引号我后来自己也找出来了,但现在是我的语句在数据库里可以运行,在C#编译器里就不行了。详细语句见下: select * from dbo.[Report] where ID like '%1%' or Report_num like '%1%' or ID like '%ehs%' or Report_num like '%ehs%' order by ID ; 在数据库没问题。在vs2005里,代码如下: string result="ID like '%1%' or Report_num like '%1%' or ID like '%ehs%' or Report_num like '%ehs%'"; //加起来就是上面的语句 string ss = @"select * from dbo.[Report] where " + result + " order by ID "; DataTable dt =Search(ss);//然后直接把语句传到一个函数里执行 public DataTable Search(string sqlstr) { DataTable dt; string sql = sqlstr; Console.Write(sql); dt = ExecuteSqlReader(sql); return dt ; }报错:对象名 'dbo.Report' 无效。
use 数据库名 go select * from sysobjects where name='Report'这个先看看有没有返回结果?
from dbo.[Report]
where ID like '%1% 'or Report_num like '%1%'
or ID like '%ehs%' or Report_num like '%ehs%'
order by ID
from dbo.[Report]
where ID like '%1%' or Report_num like '%1%'
or ID like '%ehs%' or Report_num like '%ehs%'
order by ID
LIKE后面加引号,同时注意引号内不能有空格,除非特殊需要。
select * from dbo.[Report] where ID like '%1%' or Report_num like '%1%' or ID like '%ehs%' or Report_num like '%ehs%' order by ID ;
在数据库没问题。在vs2005里,代码如下: string result="ID like '%1%' or Report_num like '%1%' or ID like '%ehs%' or Report_num like '%ehs%'";
//加起来就是上面的语句
string ss = @"select * from dbo.[Report] where " + result + " order by ID ";
DataTable dt =Search(ss);//然后直接把语句传到一个函数里执行
public DataTable Search(string sqlstr)
{
DataTable dt;
string sql = sqlstr;
Console.Write(sql);
dt = ExecuteSqlReader(sql);
return dt ;
}报错:对象名 'dbo.Report' 无效。
use 数据库名
go
select * from sysobjects where name='Report'这个先看看有没有返回结果?