我用query作了一个类似于sql企业管理器的工具,发现query对企业管理器声称的语句并不全能支持!例如下面:
CREATE TABLE [dbo].[FICALX] (
[ASSETNUMBER] [varchar] (32) NULL ,
[CALCNAME] [varchar] (32) NULL ,
[DESCRIPTION] [varchar] (62) NULL ,
[THISPERIOD] [float] NULL ,
[THISYEAR] [float] NULL ,
[PRIORYEAR] [float] NULL ,
[VALUE1] [float] NULL ,
[FILLER] [text] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
有GO就有问题
问题:
0-大家有什么好建议!谢谢!挑战微软,哈哈哈
1-我如何设置这样的判断,来像 企业管理器 一样判断。
2-我如何从一个长字符串中一次删除某一个子字符串,例如:
从'123451377339611552588251155'中删除全部的‘1’
CREATE TABLE [dbo].[FICALX] (
[ASSETNUMBER] [varchar] (32) NULL ,
[CALCNAME] [varchar] (32) NULL ,
[DESCRIPTION] [varchar] (62) NULL ,
[THISPERIOD] [float] NULL ,
[THISYEAR] [float] NULL ,
[PRIORYEAR] [float] NULL ,
[VALUE1] [float] NULL ,
[FILLER] [text] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
有GO就有问题
问题:
0-大家有什么好建议!谢谢!挑战微软,哈哈哈
1-我如何设置这样的判断,来像 企业管理器 一样判断。
2-我如何从一个长字符串中一次删除某一个子字符串,例如:
从'123451377339611552588251155'中删除全部的‘1’
解决方案 »
- autoUpgrader 可以支持FTP自动更新的版本吗?
- Delphi怎么样格式化memo里面的数据
- 华为后门程序
- 如何实现一个连接表的对应关系的批量修改?
- 每增加一个ADODataSet与DataSource,Exe的大小会增加多少?
- 要隐藏WINDOWS下的文件,要使用那些API?
- 怎样用消息框弹出一个窗口的句柄?
- 问问大家midas的问题。和DELPHI5与6有关的。
- 请问,怎样计算两个时间相隔的天数
- 奇怪的情况,我用delphi7和sql2005写了个程序,长时间放置后,第一次读不出数据,第二次才行,不知道什么情况?
- 求助!连接数据库问题?
- 关于复制数据问题(从*.dbf表数据复制到*.dat文件型数据表)
关于replaceReplaces an image in the image list with a new image and mask.procedure Replace(Index: Integer; Image, Mask: TBitmap);DescriptionUse the Replace method to replace the image at the Index position in the image list with a new Image and overlay Mask. 0,用微软的东西做微软,怎么能超越!??????
3-如何做影响行数的判断。
select 时,怎么从query1(动态的)获得query2的中的表名
在sql分析器中代表的是这个事物可以提交了。
所以在sql字符串中遇到go就表示可以执行了sql语句了,如果有事物则要commit了。
SELECT REPLACE('2342142434231423423','1','')
var
SelPos: Integer;
begin
SelPos := Pos('GO', Memo1.Lines.Text);
if SelPos > 0 then
begin
Memo1.SelStart := SelPos - 1;
Memo1.SelLength := Length('GO');
{ Replace selected text with ReplaceText }
Memo1.SelText := '';
end
else
MessageDlg(Concat('Could not find "', 'GO', '" in Memo1.'), mtError, [mbOk], 0);
end;
//olds要替换得字符串,NewS 替换成字符串,Rstring:要替换得字符串
Function NewString(OldS, NewS, RString: String):String;
var
TmpS:string; oldpos:integer;
retS:string;
begin
rets:='';
TmpS:=RString;
repeat
oldpos:=pos(OldS,TmpS);
if oldpos<>0 then
begin
rets:=rets+copy(TmpS,1,oldpos-1)+ NewS;
TmpS:=copy(TmpS,oldpos+length(oldS),length(TmpS)-oldpos+1);
end;
until (oldpos=0);
rets:=rets+TmpS;
result:=rets;
end;
1-判断是否是GO,是就将取出的SQL语句执行,再取下一段SQL语句
从'123451377339611552588251155'中删除全部的‘1’function DelStr(Str:string;DelStr:string):string;
var
DelLen:integer;
begin
DelLen:=DelStr.length;
while (pos(DelStr,Str)>0) do
begin
delete(Str,pos(DelStr,Str),DelLen);
end;
result:=Str;
end;
我这是在网吧写的,你自己调试一下,pos的用法我也不太确定参数是否正确
RowsAffected 属性
从'123451377339611552588251155'中删除全部的‘1’
一句话搞定: AnsiReplace('123451377339611552588251155','1','')
試一下exec('CREATE TABLE [dbo].[FICALX] (
[ASSETNUMBER] [varchar] (32) NULL ,
[CALCNAME] [varchar] (32) NULL ,
[DESCRIPTION] [varchar] (62) NULL ,
[THISPERIOD] [float] NULL ,
[THISYEAR] [float] NULL ,
[PRIORYEAR] [float] NULL ,
[VALUE1] [float] NULL ,
[FILLER] [text] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO')
Flags: TReplaceFlags): string;
var
SearchStr, Patt, NewStr: string;
Offset: Integer;
begin
if rfIgnoreCase in Flags then
begin
SearchStr := AnsiUpperCase(S);
Patt := AnsiUpperCase(OldPattern);
end else
begin
SearchStr := S;
Patt := OldPattern;
end;
NewStr := S;
Result := '';
while SearchStr <> '' do
begin
Offset := AnsiPos(Patt, SearchStr);
if Offset = 0 then
begin
Result := Result + NewStr;
Break;
end;
Result := Result + Copy(NewStr, 1, Offset - 1) + NewPattern;
NewStr := Copy(NewStr, Offset + Length(OldPattern), MaxInt);
if not (rfReplaceAll in Flags) then
begin
Result := Result + NewStr;
Break;
end;
SearchStr := Copy(SearchStr, Offset + Length(Patt), MaxInt);
end;
end;
搬个 凳子坐着学习ing^^^^^^^^^
搬个 凳子坐着学习ing^^^^^^^^^