문제

나는 열 필요가 foxpro 무료 테이블 vb.net 를 사용하여 연결 문자열.

하지만...나만을 얻을 필요가 열 이름이 있습니다.내가 정말 필요 없을'선택'니다.내가 노력하는 동적으로 탐색을 통해 우리의 모든 테이블을 설정의 목록은 모든 열에 있는 모든 파일과 외부 참조하는 다른 무료 테이블에 대한 설명이 포함된 각각의 열입니다.

가 작동하는 모델은 지금,하지만 다음 조건을 충족해야 합니다 나는...

SELECT TOP 1 FROM "File" ORDER BY 1

하지만 가장 큰 표,그것은 두 가지 이상의 분을 먼저 기록하고 있 250 테이블이 있습니다.전반적으로,그것은 15~20 분 거리에 있습니다.

거나,다른 방법이 있을 얻을의 첫 번째 레코드를 사용하지 않고 테이블의 순서에 의해'?

여기에 나는 지금까지.""파일로서 전달된 매개 변수입니다.
그것은 정보를 포함 같이"C:\data able1.dbf"

Dim filePath As String
filePath = IO.Path.GetDirectoryName(file)
myOledbConnection = New OleDbConnection("Provider=VFPOLEDB.1;Data Source=" & filePath & ";Collating Sequence=MACHINE")
myOledbCommand = New OleDbCommand
myOledbDataAdapter = New OleDbDataAdapter
Dim fields, from, order As String

fields = "select top 1 *"
from = " from " & file
order = " order by 1"

myOledbCommand.CommandText = fields & from & order
myOledbCommand.Connection = myOledbConnection

myOledbDataAdapter.SelectCommand = myOledbCommand
myOledbDataAdapter.Fill(dt)                     

나는 다음 datatable(dt)및 루프를 통해 얻을 열 정보입니다.

나는 그것을 좋아하는 한 빨 Visual Studio 때 나는 데이터 세트를 생성하고 부하의 모든 테이블에서는 디렉터리를 통해하는 방법에 대해 설명합니다그것은 매우 빠르게 찾을 수 있는 모든 열 정보를 읽지 않고에서 테이블에서 데이터.

알려한 자세한 정보가 필요한 경우.

감사합니다.

도움이 되었습니까?

해결책

왜 필요한 모든 기록을까요?당신이라고 말할 수 있어야:

SELECT * FROM "File" where 1 = 0

이것은 당신에게 빈 결과 집니다 또한 당신에게 메타데이터에서 프로젝션 반환됩니다.

수도 있습을 보고 싶으로 GetOleDbSchemaTable 방법OleDbConnection 클래스, 으로,그것은 당신을 허용할 것입니다에 대한 정보를 얻을 지키지 않고 데이터베이스를 수행하는 쿼리를 수행합니다.

사용할 수도 있습니다 Microsoft ADO 확장을 위해 데이터 정의 언어 및 보안 을 통해 COM(mxADOX.dll)하여 스키마 정보를 얻을 뿐입니다.

다른 팁

나는이 시도하지 않은 것을 의미하지/.하지만,그것은 다음과 같은 방법입니다.

구체적으로"GetSchema"방법에 OleDbConnection 인스턴스입니다.http://msdn.microsoft.com/en-us/library/ms254934(VS.80).aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top