메신저 구성 요소를 사용하여 ms SQL 데이터베이스에 연결하는 중입니다. DB 그리드 쿼리의 결과를 표시하는 방법을 알고. 하지만 결과를 배열에 문자열로 저장하고 싶습니다. 이것이 가능합니까 아니면 쿼리 결과를 사용하는 다른 방법이 있습니까?문자열로 adoquery 결과를 사용할 수 있습니까?
1
A
답변
0
필자는 레코드 세트를 구문 분석하고 값을 배열에 넣으려면 코드를 직접 작성해야한다고 생각합니다.
1
직접적인 방법은 없지만 AdoQuery.Recordset.GetString을 사용하여 레코드를 문자열로 가져 오면 데이터를 CSV 파일로 내보내는 예제가 있습니다.
procedure TForm2.btnExportClick(Sender: TObject);
var
Sl :TStringList;
S :string;
begin
if SaveDialog1.Execute then
begin
try
Sl := TStringList.Create;
qryExport.First;
if chkFields.Checked then
Sl.Add(GetFields(qryExport));
Sl.Add(qryExport.Recordset.GetString(2,-1,';'
,#13#10,'(Null)'));
Sl.SaveToFile(SaveDialog1.FileName);
finally
Sl.Free;
end;
end;
end;
function TForm2.GetFields(qry: TADOQuery): string;
var
I : Integer;
S : string;
begin
S := '';
for I := 0 to qry.Fields.Count - 1 do
S := S + qry.Fields[I].FieldName + ';';
Result := S;
end
1
코드로 결과 필드에 액세스 할 수 있습니다. 데이터 집합의 모든 레코드를 포함,하지만 당신은 코드의 각 하나를 통해 이동해야합니다 : 당신은 배열로 데이터를 얻을 수 ADORecordSet.GetRows을 사용할 수 있습니다
// navigate to the first record in the set
ADODataset1.first;
// while the dataset is NOT empty ...
while not ADODataset1.eof do
begin
// process a field
sValue := ADODataset1.FieldByName('fieldname').AsString;
DoSomething(sValue);
// move the cursor to the next record
ADODataset1.Next;
end;
+1
ADODataset1.DisableControls;를 호출하는 것에주의하십시오. before 및 ADODataset1.EnableControls; while 루프를 사용하면 훨씬 빠르게 처리 할 수 있습니다. – jasonpenny
1
. ASP에서 페이지로드 속도를 높이기 위해 레코드 세트를 반복하지 않고 데이터를 배열에 저장하고 레코드 세트를 닫은 다음 배열을 루프하여 내용을 표시합니다. 나는 델파이에서도 성공할 수 있다고 생각한다.
var ... TableContents : OleVariant; ... begin ... ADORecordSet.Open('select * FROM MyTable', ADOConnection, adOpenForwardOnly, adLockReadOnly, adCmdText); TableContents := ADORecordSet.GetRows(adGetRowsRest,EmptyParam,EmptyParam); someText := TableContents[1,1]; ... end;
희망이 있습니다.
관련 문제
- 1. 문자열 압축 결과를 문자열로
- 2. ADOQuery 및 DBNavigator
- 3. 쿼리 결과를 문자열로 가져 오기
- 4. subprocess.call이 호출 결과를 문자열에 쓸 수 있습니까?
- 5. sp_helptext의 결과를 단일 문자열로 가져 오기
- 6. ADOQuery, trigger 및 requery bug
- 7. SQL의 WHERE 절에서 SUM 함수의 결과를 사용할 수 있습니까?
- 8. Mysql - subselect 결과를 가져와 WHERE 절에서 사용할 수 있습니까?
- 9. Gtk.TreeView의 데이터 소스로 LINQ IEnumerable 결과를 사용할 수 있습니까?
- 10. ClientDataSet을 사용하여 Delphi ADOQuery 결과 연결
- 11. 사실상 .ascx를 만들 수 있습니까? 즉 디스크가 아니라 문자열로 사용할 수 있습니까?
- 12. HtmlAgility - 구문 분석 결과를 문자열로 저장
- 13. 고유 변수를 문자열로 대체 할 수 있습니까?
- 14. ASP.Net에서 문자열로 페이지를 만들 수 있습니까?
- 15. 어떻게 단어를 Perl에서 문자열로 감쌀 수 있습니까?
- 16. QuerySet 모델을 문자열로 동적으로 지정할 수 있습니까?
- 17. 문자열로 상수 값을 가져올 수 있습니까?
- 18. 플래시 - eval()을 사용할 수 있습니까?
- 19. 을 사용할 수 있습니까?
- 20. 타이머를 사용할 수 있습니까?
- 21. alcheMo를 사용할 수 있습니까?
- 22. jquery를 사용할 수 있습니까?
- 23. TestContext.Properties를 사용할 수 있습니까?
- 24. 을 사용할 수 있습니까?
- 25. pushState를 사용할 수 있습니까?
- 26. killProcess를 사용할 수 있습니까?
- 27. Auto_publish를 사용할 수 있습니까?
- 28. ANDROID : WHERE 절을 문자열로 SELECT 할 수 있습니까?
- 29. MySQL에서 결과를 선택하여 삽입 할 수 있습니까?
- 30. LINQ 결과를 CDATA에 포함시킬 수 있습니까?
레코드 세트를 구문 분석하는 방법에 대한 예제가 있습니까? – Makaku00