열 FoxPro 테이블 VB.net 2005
-
05-07-2019 - |
문제
나는 열 필요가 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