D
doby_li
Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何将十六进制字符串处理成的字符串写入到数据库中?
比如现有字符串:
s1:='6899999999999968050161CD16';
现我用HexToStr函数将十六进制字符串处理成字符串
即s2:=HexToStr(s1);
我用showmessage(s2)显示出来的s2是乱码一样的东西,
现在我是要将s2的值用sql语句写入数据库中,
我用的sql语句类似下列的语句:
sqltest:='update t_commcont set comm_cont='''+S2+''' where u_meterid=1000001';
错误提示为:
"ORA-01756 括号内的字符串没有正确结束",我用的是oracle数据库。
请问错在哪里,就如何将s2的值写入数据库?
请高手指点,谢谢。
附我用到的HexToStr函数。
function HexToStr( //十六进制字符串处理成字符串
mHex: string //十六进制字符串
): string; //返回处理后的字符串
var
I: Integer;
begin
Result := '';
mHex := StringReplace(mHex, #32, '', [rfReplaceAll]);
for I := 1 to Length(mHex) div 2 do
Result := Result + Chr(StrToIntDef('$' + Copy(mHex, I * 2 - 1, 2), 0));
end; { HexToStr }
比如现有字符串:
s1:='6899999999999968050161CD16';
现我用HexToStr函数将十六进制字符串处理成字符串
即s2:=HexToStr(s1);
我用showmessage(s2)显示出来的s2是乱码一样的东西,
现在我是要将s2的值用sql语句写入数据库中,
我用的sql语句类似下列的语句:
sqltest:='update t_commcont set comm_cont='''+S2+''' where u_meterid=1000001';
错误提示为:
"ORA-01756 括号内的字符串没有正确结束",我用的是oracle数据库。
请问错在哪里,就如何将s2的值写入数据库?
请高手指点,谢谢。
附我用到的HexToStr函数。
function HexToStr( //十六进制字符串处理成字符串
mHex: string //十六进制字符串
): string; //返回处理后的字符串
var
I: Integer;
begin
Result := '';
mHex := StringReplace(mHex, #32, '', [rfReplaceAll]);
for I := 1 to Length(mHex) div 2 do
Result := Result + Chr(StrToIntDef('$' + Copy(mHex, I * 2 - 1, 2), 0));
end; { HexToStr }