在数据库编程中,A字段为关键字,根据A来判断B字段的变化,且把变化修改到数据库中。
我运用如下语句,对英文和数字的改变都能达到如期的效果,可是但B字段改为中文时,数据未能如期更改,为何?
如果语句有问题,那对英文和数字的改变也不应该成立才对啊。
str0 string;
str1 string;
query1.close;
query1.sql.clear;
query1.SQL.Add('update LIHAO.LIHAO set B='''+str1+'''');
query1.SQL.Add('where A='''+str0+'''');
query1.ExecSQL ;请帮助我!
我运用如下语句,对英文和数字的改变都能达到如期的效果,可是但B字段改为中文时,数据未能如期更改,为何?
如果语句有问题,那对英文和数字的改变也不应该成立才对啊。
str0 string;
str1 string;
query1.close;
query1.sql.clear;
query1.SQL.Add('update LIHAO.LIHAO set B='''+str1+'''');
query1.SQL.Add('where A='''+str0+'''');
query1.ExecSQL ;请帮助我!
字段名称就是A,B
在oracle数据库里定义这两个字段为:
A varchar2(100),
B varchar2(100);
现在我把命令改成:
query1.SQL.Add('update LIHAO.LIHAO set D= :D');
query1.SQL.Add('where A= :A');
query1.ParamByName('A').asstring:=str0;
query1.ParamByName('D').asstring:=str3;
那么中文可以保留到数据库里去了,
但是有一个奇怪的现象就是:
对其他的中文文字几乎都可以保留到数据库里,
但我随便输了一大串中文,
却发现"三“这个字符变成了空格?奇怪!奇怪!
在数据库里表示为”?“,
而其他中文文字在里面也是以乱码的形式储存,
但这些文字读出来在stringgrid里,表示的是正常的文字。
惟独字符“三”在stringgird里,显示为空格!
当然也许还有其他的字符我还没有发现有问题吧!何解?何解?何解?何解?