请教数据库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";
刚刚没看清楚
以为你要转化
如果是数字的
直接拼接上去就可以
不要加上单引号
也不要对字段做数据类型转化