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

请问数据库SQL语句小疑点

2012-02-17 
请教数据库SQL语句小问题string str Select * From usera where 11if (qy ! null && qy.Length !

请教数据库SQL语句小问题
string str = "Select * From usera where 1=1";
  if (qy != null && qy.Length != 0)
  str += " and uname='" + qy + "'";
  str += " order by add_date desc,uid desc";

数据库中uname字段为数字字节类型,我这样写总是报错,将uname改为整数也不行,

改成以下就行,
string str = "Select * From usera where 1=1";
  if (qy != null && qy.Length != 0)
  str += " and int(uname)='" + qy + "'";
  str += " order by add_date desc,uid desc";

请教为何



[解决办法]
'" + qy + "'"; 
问题就出在这里 如果是整数的话 就不要最外面的''了 ''表示字符串 是varchar型
[解决办法]
数据库中的数据类型转化
用convert
或者 
cast
你多看看 sql语句 基础
[解决办法]
string str = "Select * From usera where 1=1"; 
if (qy != null && qy.Length != 0) 
str += " and unam=" + qy + ""; 
str += " order by add_date desc,uid desc"; 
刚刚没看清楚
以为你要转化
如果是数字的
直接拼接上去就可以
不要加上单引号

也不要对字段做数据类型转化

热点排行
Bad Request.