2011-01-25 5 views
1

내 데이터베이스의 데이터 형식을 "텍스트"에서 "메모"로 변경하고 싶습니다. 우선, 나는 C#에서 "메모"데이터 유형을 찾지 못했습니다. 두 번째 :C#을 데이터 형식을 메모에 저장하고 저장하십시오.

public void SQLCommand(String strSQL) 
    { 
     OleDbConnection objConnection = null; 
     OleDbCommand objCmd = null; 
     String strConnection; 
     strConnection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + "\\tasks.mdb"; 
     objConnection = new OleDbConnection(strConnection); 
     objConnection.ConnectionString = strConnection; 
     objConnection.Open(); 
     objCmd = new OleDbCommand(strSQL, objConnection); 
     objCmd.ExecuteNonQuery(); 
     objConnection.Close(); 
     UpdateListView(); 
    } 

이 어떻게 3 열의 데이터 형식을 변경하고 저장할 수 있습니다 : 제가 DB에 명령을 실행하려면 다음 코드를 가지고?

public void tst() 
    { 
     conn.Open(); 
     DataSet ds = new DataSet(); 
     OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * from Tasks", conn); 
     adapter.Fill(ds); 
     DataTable dt = ds.Tables[0]; 
     dt.Columns[3].DataType = System.Type.GetType("System.String"); 
     conn.Close(); 
    } 

을하지만,이 기능을, 그것은 문자열로 데이터 유형으로 변경> 나는 메모를 원하는 : 이 기능의 Form_Load 때 데이터 유형을 변경할 수 있습니다. 이 함수는 매번 실행해야하므로 좋지 않습니다. 메모로 영구적으로 변경하면 처음부터 조금만 만들어야합니다.

~ 감사합니다. C에서 #

답변

3
  1. String는 어느 길이의 텍스트를 지원하는 두 TextMemo과 동등하다.

  2. 질문을 올바르게 이해하면 코드에서 실제로하는 일을 오해하고 있다고 생각합니다. 열의 DataType을 설정하면 어떤 식 으로든 데이터베이스를 변경하지 않고 방금 만든 DataTable 인스턴스의 열의 데이터 형식을 변경하는 것입니다.

당신이 실제로 정말 ADO.Net에서 지원되는 경우에는 잘 모르겠어요 때문에, 가장 좋은 방법은 아마도 Access에서 수동으로 할 것 데이터베이스의 구조를 변경하려면

(난 당신이 수도 생각 ALTER 문을 사용하여 수행 할 수 있어야합니다. 그렇지 않으면 그 일을하는 Access/Jet 방식이었던 DAO을 사용하여 수행 할 수도 있지만 꽤 오래 전에 사용되지 않으므로 닷넷에서는 잘 작동하지 않을 수 있습니다.

+0

내가 수동으로 변경하는 것이 가장 좋은 방법은 이미 내 프로그램을 게시 한 것이므로 수동으로 변경하고 새 데이터베이스를 다운로드하기 위해 업데이트 프로그램을 만들면 이전 데이터베이스의 모든 행도 삭제됩니다. . 예, 이전 데이터를 새로운 데이터로 내보내거나 그와 비슷한 데이터를 내보내고 싶지 않습니다. – Ron

+0

@Ron : 그 때 DAO를 사용할 수 있는지 살펴 보겠습니다. C#에서 지원되지 않는다면 짧은 VBScript 스크립트 나 이와 비슷한 스크립트를 작성하여 변경 작업을 수행 할 수 있습니다. VBScript는 DAO에서 작동합니다. –

+0

답변을 찾았습니다.해야 할 일은 모두 http://stackoverflow.com/questions/2450800/rename-columnname-and-change-columns-data-type-in-a-table-by-using-ado-net입니다. 내 함수 SQLCommand를 사용하여 다음 문자열을 보내는 것입니다. ALTER TABLE myTable ALTER COLUMN myColumn DataType NOT NULL – Ron

관련 문제