我又一个字符串 sqlStr:='insert into tablename(a,b,c,d,e,f,g....) values('sss','ccc','','','sssa'.....)'我想将这个字符串提换成
sqlStr:='insert into tablename(a,b,c,d,e,f,g....) values('sss','ccc',null,null,'sssa'.....)'
请问如何用程序实现呢?
sqlStr:='insert into tablename(a,b,c,d,e,f,g....) values('sss','ccc',null,null,'sssa'.....)'
请问如何用程序实现呢?
解决方案 »
- 一个时间段我要循环列出这段里的日期
- 请教各位达人,关于一些窗口处理
- 简单问题:请问在delphi中如何获得硬盘的序列号??
- 以前用.net,现在学习delphi,.net中的一种数据编程方法,能转成delphi吗?请高手看看
- 基本问题:DELPHI程序发布要设置什么吗?
- 如何实现远程登陆啊(已经知道了IP)现在客户端要登陆连接服务器--都连接在internet网络上(另开帖给分)
- csdn改版也不应该丢数据!!
- 写了一个通用的创建控件的函数,但是出错,请各位帮忙查查
- 请问有没有输入矩阵的控件?
- 谁知道Installshield Express 3.53的激活码???
- Ehlib按表头排序?
- 如何获得IE的临时文件(缓存)存放目录??
sqlStr:='insert into tablename(a,b,c,d,e,f,g....) values(''sss'',''ccc'','''','''',''sssa''.....)'sqlStr:='insert into tablename(a,b,c,d,e,f,g....) values(''sss'',''ccc'',null,null,''sssa''.....)'这样才对;不知道你所谓的替换是什么意思
想怎么换就怎么换!
// 参数: StrV-被分解的字符器 PrtSymbol-分隔符
// 返回: 字符串列表(TStringList),注意在使用后要将其释放
function PartitionString(StrV,PrtSymbol: string): TStringList;
var
iTemp: integer;
begin
result := TStringList.Create;
iTemp := pos(PrtSymbol,StrV);
while iTemp>0 do begin
if iTemp>1 then result.Append(copy(StrV,1,iTemp-1));
delete(StrV,1,iTemp+length(PrtSymbol)-1);
iTemp := pos(PrtSymbol,StrV);
end;
if Strv<>'' then result.Append(StrV);
end;/////////////////////////////////////////
......
var
sl: TStringList;
i: integer;
begin
sl := PartitionString(sqlStr,',');
sl[x] := 'null'; // x,x+1为null的位置
sl[x+1] := 'null';
sqlStr := sl[0];
for i:=1 to sl.count-2 do
sqlStr := sqlStr + ',' + sl[i];
sqlStr := sqlStr + Sl[i];
end;
function rp(s,oldstr,newstr:string):string;
var strlen,oldlen:integer;
strpos:integer;
str1,str2:string;
begin
strlen:=length(s);
oldlen:=length(oldStr);
strPos:=pos(oldstr,s); if strpos<>0 then
begin
str1:=copy(s,1,strPos-1);
str2:=copy(s,strpos+oldlen,strlen-strpos-oldlen+1);
result:=str1+newstr+str2;
end
else
begin
result:=s;
end;
end;