List the Tables in an SQLite Database (SQLite Show Tables SQL 條列搜尋所有資料表)
List the Tables in an SQLite Database (SQLite Show Tables SQL 條列搜尋所有資料表)
資料來源: https://database.guide/2-ways-to-list-tables-in-sqlite-database/
C#實測過可用SQL語法 (PS.但是在SQLiteDatabaseBrowserPortable會失敗)
SELECT name FROM sqlite_schema
WHERE type IN ('table','view')
AND name NOT LIKE 'sqlite_%'
ORDER BY 1;
應用: C#清空DB所有資料函數
public static void DBBackupAndClean()//做一次實體DB檔案備份,並清空所有資料表資料
{
String DBName = "vpos";
String StrSourceFilePath = FileLib.path + DBName + ".db";
String StrDestFilePath = FileLib.path + DBName + DateTime.Now.ToString("_yyyyMMddHHmmss") + ".db";
File.Copy(StrSourceFilePath, StrDestFilePath, true);
String SQL = "SELECT name FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%' ORDER BY 1;";//https://database.guide/2-ways-to-list-tables-in-sqlite-database/
DataTable DataTableBuf = GetDataTable(SQL);
if((DataTableBuf != null)&& (DataTableBuf.Rows.Count > 0))
{
for(int i = 0; i < DataTableBuf.Rows.Count; i++)
{
SQL = String.Format("DELETE FROM {0};", DataTableBuf.Rows[i][0].ToString());
SQLiteInsertUpdateDelete(SQL);
}
}
}