2010-04-13 2 views
1

특정 너비와 정밀도가있는 숫자 열을 포함하는 dBase 데이터베이스 (.dbf 파일)를 만들 수 있어야합니다. 정밀도는 설정할 수 있지만 너비는 설정할 수없는 것 같습니다. 다음 코드는 내 연결 문자열과 내 명령 텍스트를 보여줍니다.dBase 데이터베이스를 만들 때 숫자 너비와 정밀도를 지정하는 방법은 무엇입니까?

using (OleDbConnection oConnection = new OleDbConnection(String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source = {0};Extended Properties=dBase 5.0", msPath))) 
{ 

    .... 

    oCommand.CommandText = "CREATE TABLE [Field] ([Id] Numeric (15, 3))"; 
    oCommand.ExecuteNonQuery(); 
} 

그러면 파일에 Id,20,3 열이 표시됩니다.

수동으로 .dbf 파일을 편집하지 않고 필드 너비를 설정하는 방법이 있어야합니까? 쉐이프 파일을 만들 때 이전에 다른 사람이 나오지 않았습니까?

+0

당신은 문제가 해결 되었습니까? –

+0

@Andrew Kalashnikov - 아니요. 문제를 해결 한 적이 없습니다. 우리 모양 파일의 소비자는 요구 사항을 느슨하게했습니다. – stevehipwell

답변

0

아무도 해결책을 찾을 수 없다면 누구나 내 대답을 바꿀 것입니다!

0

당신은 Microsoft OLE DB Provider

다음 conection에를 사용하여 사용할 수 있습니다

connectionString = @"Provider=vfpoledb.1;Data Source=" + path + ";Collating Sequence=machine;"; 

하고 쿼리 :

comm.CommandText = "Create table Test (FirstName Numeric(4,0),LastName Char(50))" 
관련 문제