首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

sql话语与SqlParameter

2012-12-16 
sql语句与SqlParameter把string sql select * from RoomType where TypeName like %@a%SqlParamete

sql语句与SqlParameter

string sql = "select * from RoomType where TypeName like '%@a%'";
            SqlParameter[] p = new SqlParameter[] { new SqlParameter("@a", roomTypeName) };

改成
string sql = "select * from RoomType where TypeName like '%"+roomTypeName+"%'";
就能达到效果,不改为什么是错的!
[解决办法]
你再多帖几行代码吧!

你是不是只是设置了参数,并没有使用将这个参数应用到SQL 查询呢?
[解决办法]
SqlParameter进行了参数封装,你那里推断的SqlDbType是字符类型的
到最终的SQL中可能就变成了like '%'rotypeName'%'这只是我的猜测
建议你去SQL Server中用SqlProfiler监视看一下执行的最终查询就知道了

[解决办法]

引用:

string sql = "select * from RoomType where TypeName like '%@a%'";
            SqlParameter[] p = new SqlParameter[] { new SqlParameter("@a", roomTypeName) };

改成
string sql = "select * from Roo……


SqlParameter[] p = new SqlParameter { new SqlParameter("@a", SqlDbType.类型) };
SQLCMDpas[0].Value=参数
我习惯把这个东西分开写~~~写成BLL层的一个方法

[解决办法]
select * from table where Content LIKE @wd Order by V_ID DESC

cmd.SelectCommand.Parameters.Add("@wd", OleDbType.Char, 10).Value = "%" + Function.Basic.Rq("wd") + "%";


% %号一起放Parameters里面
[解决办法]
string sql = "select * from RoomType where TypeName like '%"+@a+"%'";  SqlParameter[] p = new SqlParameter[] { new SqlParameter("@a", roomTypeName) };


你这样试试

[解决办法]
写法上没看出来有什么错误,

可能是参数里有关键字或特殊字符
[解决办法]
string sql = "select * from RoomType where TypeName like @a";
  SqlParameter[] p = new SqlParameter[] { new SqlParameter("@a", "%"+roomTypeName+"%") };

重点在这里 %也要放进Parameter里面
SqlParameter("@a", "%"+roomTypeName+"%")

[解决办法]

string sql = "select * from RoomType where TypeName like '%@a%'";
   SqlParameter[] p = new SqlParameter[] { new SqlParameter("@a", roomTypeName) };

改成
string sql = "select * from RoomType where TypeName like '%"+roomTypeName+"%'";
/////////
string sql = "select * from RoomType where TypeName like '"+roomTypeName+"'";
通过 sqlparameter  是为了参数化查询 为了防止字符串的注入攻击  改成这样可以使 就是安全性 相对较差会拼接成查询字符串在数据库中进行执行 用了sqlparmeter  参数不在座位查询字符串的一部分进行执行  他就被作为一个字符串来对待  
------解决方案--------------------


写法没错误。。是不是 执行sql语句的时候没有传SqlParameter[] p 过去啊

热点排行