여러 TADOQuery가 동일한 세션 또는 거래 정보에 액세스 할 수 있도록하는 방법이 있나요?임시 테이블
두 TADOQuery 같은이 TADOConnection을 가지고 있지만, 그 작동하지 않습니다.
예 - 나는 임시 테이블, 내가 다른 쿼리에 그 임시 테이블을 사용하려면,하지만 난하려고 할 때, 그것은 임시 테이블에 대해 알고하지 않습니다를 생성하는 하나 개의 쿼리가 있습니다. 기본적으로 당신의 TADOConnection가 KeepConnection=True
에 정의되어 있지 않은 경우
procedure Foo(dbCon : TADOConnection);
var
q1 : TADOQuery; //TODO : set your ADOQuery to use a forward only read only cursor.
q2 : TADOQuery;
begin
q1 := TADOQuery.Create(nil);
q1.Connection := dbCon;
q1.SQL.Text := 'SELECT id INTO #TempT FROM dFTNodes;';
q1.Active := true;
q2 := TADOQuery.Create(nil);
q2.Connection := dbCon;
q2.SQL.Text := 'SELECT id FROM #TempT;';
q2.Active := true; //Fails here does not know table #TempT
end;
구문은 SQL-Server와 비슷하지만 SQL-Server입니까? BTW'q1.Active은 : = 진정한;''q1.ExecSql 할 필요가있을 것이다;' – bummi
네, 그것은 .ExecSql 나에게 같은 오류 "EOleException ... '잘못된 개체 이름'#TempT '" – runfastman
입니다 @bummi : 아니,'SELECT <> INTO'은 행 집합을 반환하므로'Open'과 함께 잘 작동합니다. –
runfastman