求教:关于sqlCommand语句
我构造了一条查询语句,主要的语句如下
sqlcommand myCommand=new sqlCommand("select ID from news where title=abc",myConnection);
具体的代码和报告的错误如下,请问该怎么做呢?
string sqlstring;
//news表已经建好
sqlstring="select ID from news where title=";
string search="abc";
//是不是下面这条语句有问题呢?该怎么写呢
sqlstring+=search;
//myConnection已经建立
myConnection.open();
sqlCommand myCommand;
myCommand=new sqlCommand(sqlstring,myConnection);
SqlDataReader myDataReader;
myDataReader=myCommand.ExecuteReader();
然后就报错了,
下面这条语句出错了
myDataReader=myCommand.ExecuteReader();
异常详细信息: System.Data.SqlClient.SqlException: 列名 'abc' 无效。
我觉得是sqlstring+=search;这条语句错了,可又不知道该怎么写,该怎么写呢?
谢谢
问题点数:20、回复次数:9Top
1 楼stevenhzj(潇湘冷月)回复于 2005-05-09 22:30:46 得分 5
sqlstring += +"'"search +"'";Top
2 楼zhaosile()回复于 2005-05-09 22:42:47 得分 0
谢谢stevenhzj,我试了一下,
好像应该是 sqlstring+="'"+search+"'";
还有一个问题,如果我想实现模糊查找,select语句的条件该怎么写呢?
比如我想查找,标题中包含有"ab"的项,
select ID from news where title=*ab*
这么写可以吗?
谢谢
Top
3 楼flyye_cs(一叶孤舟)回复于 2005-05-09 22:45:04 得分 10
sqlstring+="'"+search+"'";Top
4 楼flyye_cs(一叶孤舟)回复于 2005-05-09 22:46:26 得分 0
简单点的
select ID from news where title like '%abc%'Top
5 楼smx717616(又笨又不努力)回复于 2005-05-09 22:48:41 得分 5
string search="abc";
sqlcommand myCommand=new sqlCommand("select ID from news where title='" + search + "'",myConnection);
就是固定的用法,记住就行了, 遇到变量 单引号+双引号+连接符 变量 后面与前面对称就行了。Top
6 楼smx717616(又笨又不努力)回复于 2005-05-09 22:49:47 得分 0
string search="%"+"abc"+"%";
sqlcommand myCommand=new sqlCommand("select ID from news where title='" + search + "'",myConnection);
Top
7 楼flyye_cs(一叶孤舟)回复于 2005-05-09 22:53:53 得分 0
复杂一点的
string SafeSQL(string str) //过滤LIKE子句中的特殊字符
{
string s=str.Replace("[","[[]");
s=s.Replace("%","[%]");
s=s.Replace("_","[_]");
return s;
}
...
string search="abc";
string str="SELECT ID FROM news WHERE title LIKE @title";
SqlCommand cmd=new SqlCommand(str,myConnection);
cmd.Parameters.Add("@title",SqlDbType.NVarChar,50).Value="%"+SafeSQL(search)+"%";
SqlDataReader myDataReader;
myDataReader=cmd.ExecuteReader();
...
Top
8 楼zhaosile()回复于 2005-05-09 22:56:02 得分 0
谢谢flyye_cs,我实现了。还有别的模糊匹配的方法吗?Top
9 楼flyye_cs(一叶孤舟)回复于 2005-05-09 23:13:45 得分 0
比较多,你可以查查SQL Server联机众书,很有用的东西... (装了SQL Server就自带了的)Top
相关问题
- 如何判断SqlCommand cm=new SqlCommand (mysql,cn);语句中对象cm是否为空????
- SqlCommand在debug的时候的问题,怎么才能显示正确的语句
- 为什么这种SQL语句在VB.NET的SQLCommand或ODBCCommand中不能执行?
- sql语句的问题?SqlCommand1=new SqlCommand("sp_addArticleHints",SqlConnection1); 中的"sp_addArticleHints",代表什么?
- SqlCommand执行的Sql语句中不能包含在SQL Server中自定义的函数吗?多谢!
- 用SqlCommand时,查询语句如何写才能返回表中字段的信息
- 求SQL语句
- 延时语句
- sql语句。
- sql语句?




