我有一个ADO连接字符串:
Provider=SQLOLEDB.1;Data Source=MYCOMPUTER\SQL2008;User ID=GuestUser;Password=password;Persist Security Info=True;Initial Catalog=DefaultDatabase;我希望将字符串的特定部分读取到各种TEdit控件中。有没有一个函数可以为我解析这些信息,或者我需要在分号处拆分字符串,然后再用等号拆分字符串,并读取字符串数组的第一个索引?
发布于 2013-06-25 13:30:07
如果只想按原样解析字符串,可以使用StringList设置Delimiter和StrictDelimiter并分配DelimitedText。然后,您可以使用StringList的名称和值。
var
i:Integer;
sl:TStringList;
begin
sl:=TStringList.Create;
try
sl.Delimiter :=';';
sl.StrictDelimiter := true;
sl.DelimitedText := Con.ConnectionString;
Memo1.Lines.Assign(sl);
finally
sl.Free;
end;
end;访问,例如通过sl.Names[i]; sl.Values['Password']; sl.ValueFromIndex[i]
Ado本身允许通过Properties访问,这将列出比赋值更多的值,这将是更好的方式。
var
i:Integer;
begin
For i := 0 to Con.Properties.Count - 1 do
begin
Memo1.Lines.Add(Con.Properties[i].Name + '='+ VarToStr(Con.Properties[i].Value));
end;
end;https://stackoverflow.com/questions/17289278
复制相似问题