好久没有动asp.net了,所以写了个增删查改的实例练练手,在这个过程中碰到了几个问题,现在把碰到的问题和解决方法记录下来,作为备忘
问题1 一个表中的字段类型设为了varchar,在sql server中手动给字段输入记录时发现输入不了中文,输入了中文后保存,再打开表来看的话,发现显示的是?? 琢磨了一阵后发现问题出在数据库的字段排序规则上,把数据库的字段排序规则改为 Chinese_PRC_CI_AS,问题解决
问题2 在写sql语句进行模糊查询时,用的是like, 不过在用字符串拼接时,却查询不到结果。断点调试后发现是因为多写了空格的原因,正确的语句是这样子的:
string SqlText = "select * from Test where testName like '%" + TextBox1.Text + "%'";
等同于在sql server中这样写:
select * from Test where testName like '%小赵%'
可是之前由于我一时疏忽在vs中写成了这样:
string SqlText = "select * from Test where testName like '% " + TextBox1.Text + "%'";
结果悲剧了,到sql server 中就成了这样:
-- 这句不起作用,有空格
select * from Test where testName like ' %小赵%'
就如同注释中所写的那样,因为有空格所以查询不到记录,去掉空格,就能查询到记录了。