2014-02-15 3 views
0

내가 작성 (명령 프롬프트에서) sqlite3를 명령 같은 것을 실행할 수 있습니다어떻게 표시 할 System.Data.SQLite 설정할 수 있습니까?

sqlite3 -header sms.db "select * from message" 

또는 내가 Change SQLite default settings에 sqlite가의 기본 설정을 변경했습니다.

하지만 난 C# 및 System.Data.SQLite.dll 사용하고 다음 이러한 솔루션 중 하나가 ... 어떻게 headers on 설정할 수 있습니까?

내 C# 코드는 다음과 같다 :

SQLiteConnection connection = new SQLiteConnection("Data Source=" + path); 

connection.Open(); 

SQLiteDataReader reader = new SQLiteCommand(connection) { CommandText = "select * from message" }.ExecuteReader(); 

while (reader.Read()) 
{ 
    //... 
} 

reader.Close(); 
connection.Close(); 

답변

1

당신 "할 수 없습니다." 헤더는 SQLite의 옵션을 통해 켤 수 없습니다.

그러나 판독기에서 열 이름을 검색하여 직접 표시 할 수 있습니다.

SQLiteConnection connection = new SQLiteConnection("Data Source=" + path); 

connection.Open(); 

SQLiteDataReader reader = new SQLiteCommand(connection) { CommandText = "select * from message" }.ExecuteReader(); 

bool needHeader = true; 
while (reader.Read()) 
{ 
    // show header if this is the first row 
    if(needHeader){ 
     ShowHeader(reader); 
     needHeader = false; 
    } 
    //... 
} 

reader.Close(); 
connection.Close(); 

void ShowHeader(SQLiteDataReader reader){ 
    for (int i=0;i < reader.FieldCount;i++) 
    { 
     string fieldName = reader.GetName(i); 
     // use your display method here 
     Console.Write(fieldName+"\t"); 
    }   
} 
관련 문제