我有一个ADO连接字符串:
Provider=SQLOLEDB.1;Data Source=MYCOMPUTER\SQL2008;User ID=GuestUser;Password=password;Persist Security Info=True;Initial Catalog=DefaultDatabase;
我想将字符串的特定部分读入各种TEdit
控件。是否有一个函数能够为我解析该信息,或者我需要在分号处拆分字符串,然后再用等号并读取该字符串数组的第一个索引?
答案 0 :(得分:3)
如果您只想解析字符串,可以使用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;