为什么不能往数据库加入汉字? ( 积分: 100 )

  • 主题发起人 主题发起人 唉?!
  • 开始时间 开始时间

唉?!

Unregistered / Unconfirmed
GUEST, unregistred user!
请教一下
我在做c/s的时候,
为什么客户端用update时,往数据库里写汉字写不进去,是sql2000
我在sql2000直接写sql语句试没问题的
顺便说一下,
中间层用的是TAdoConnection + TAdoQuery和Data + TDataSetProvider
客户端用的是TClientDataset + TSocketConnection
数据库用 Access
 
请教一下
我在做c/s的时候,
为什么客户端用update时,往数据库里写汉字写不进去,是sql2000
我在sql2000直接写sql语句试没问题的
顺便说一下,
中间层用的是TAdoConnection + TAdoQuery和Data + TDataSetProvider
客户端用的是TClientDataset + TSocketConnection
数据库用 Access
 
我也遇到过,但不是用的三层结构,你可以把你的 sql 语句变为 wideString 格式,然后再更新,就行写放汉字了。
成功了记得给分呀?嘻,我就知道要分.....
 
能说清楚一点么?
在哪改?
sql2k里没这种格式!
sql 语句变为 wideString 格式
能写一个示范么?
成功了给你加分
呵呵
 
错了
数据库是sql2k
 
他的意思应该是
var
sql:wideString;
sql:='insert....';
 
不行
源程序是
procedure TFmPhyExam.BtOKClick(Sender: TObject);
begin
FmDBco.D_Patients.Close;
FmDBco.D_Patients.CommandText:='UPDATE PATIENTS'
+' SET PATIENT_NAME=:A,PATIENT_SEX=:B,PATIENT_AGE=:C'
+' WHERE PATIENT_BICKER=:D';
FmDBco.D_Patients.Params.ParamByName('A').AsString:=edit1.Text;
FmDBco.D_Patients.Params.ParamByName('B').AsString:=trim(sex.Text);
FmDBco.D_Patients.Params.ParamByName('C').AsInteger:=StrToInt(Age.Text);
FmDBco.D_Patients.Params.ParamByName('D').AsString:=Bicker.Text;
FmDBco.D_Patients.Execute;
end;
我加了个s1:widestring=trim(edit1.text);
也不行
 
没有人给点意见么?
 
FmDBco.D_Patients.Params.ParamByName('A').AsString:=s1;
这句就把s1又还原成string了,你试试别用参数,直接:
s:widestring;
s:='update -- set name="'+edit1.text+'", sex="'+ ---
来试试看.
 
解决了,和yzxcsw想的一样,散分了,呵呵
不知道我这点分还能问几个问题 呵呵
谢谢大家
 
后退
顶部