很搞!!是不是又是字符的问题?求各种喷!!!!
今天客户提出一个问题,就是在数据库中有一条记录,列名为docfilename,里面是一堆字符串,比如‘E-10336 圆领无袖衫GSD.xls’,这个就是程序中附件的名字。结果客户在附件列表里删除这条记录时,怎么都删不掉,气坏了。我也很奇怪,附件列表也是从这个表字段去读的,怎么删除时,就删除不了?结果我自己去测试一下,问题果然存在,其他的附件删除都是正常的。我大致的想法是显示的中文,如‘E-10336 圆领无袖衫GSD.xls’在数据库保存时,是其他的一些ord码和英文,是不是转换的时候有问题?结果我登录软件用英语版的,马上就删除了。
故事到这里,虽然结尾了,却不是我要的结果,大家能说出大致的原因么,这条记录还有个问题就是,我用sql查询,条件为docfilename=‘E-10336 圆领无袖衫GSD.xls’,居然是查不出来的,为什么又能在附件列表里显示是正常的?其他的记录,可以直接查。
ps:这个字符串在英文环境下显示为‘E-10336 蛾烩礚砈璵GSD.xls’之类的。
求各种喷!!!!
[解决办法]
你用D2010之类的宽字符版本D试试,
或者,取文件名啥的函数都改为宽字符版本的函数,然后用WideString之类试试...
你这里删除是 删除记录 还是 删除文件啊...
删除文件的话,你在删除前先用文件名找找看文件是否存在,貌似Ansi和Unicode之间转换可能会造成不准确...