我又一个字符串 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生成随机字符串问题,求高手改代码!
- 为何我这次安装的DELHPI7企业版默认新建的不是一个带空Form的windows exe项目 ?
- 在Delphi下如何创建Access2003的DataBase和该库内的多个Table!--不用中间件!牛X的人回答一下!
- 怎么判断分区的格式是NTFS的呢?
- socketconnetion做的三层,服务器关掉后,客户端用clientdataset查询时报RPC服务器不可用,请教有什么办法事先得到服务器已断开?
- [特别醒目]雪地向内翻腾五周半垂直落地单手倒立 祝大家有一个辉煌的2006
- VB&Vs&Delphi(散分)
- 如何POP3邮件的收取? 急!
- 求sql排序语句(降序)
- 急,保存照片问题!!!
- 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;