我可以用sqlite3命令编写和执行这样的命令(在命令提示符下):
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();
答案 0 :(得分: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");
}
}