Having a little problem with creating new tables. When I use the CREATE TABLE command my new tables form as they should, but when I exit the activity the app crashes and I get a
I use it like this:
internal static int checkTable()
{
DataTable dTable = new DataTable();
try
{
dbConn = new SQLiteConnection("Data Source=" + dbFileName + ";Version=3;");
dbConn.Open();
sqlCmd.Connection = dbConn;
String makeTable = "CREATE TABLE IF NOT EXISTS responde( id INTEGER PRIMARY KEY AUTOINCREMENT, sid TEXT, ans TEXT, answe TEXT, questid TEXT, timestamp TEXT)";
sqlCmd.CommandText = makeTable;
sqlCmd.ExecuteNonQuery();
return 1;
}
catch (SQLiteException) { Console.WriteLine("Error DB 100"); return 0; }
catch (IndexOutOfRangeException) { Console.WriteLine("Error DB 101"); return 0; }
catch (TypeInitializationException) { Console.WriteLine("Error DB 102"); return 0; }
}
That's how it's supposed to work. CREATE TABLE
will throw an exception if the table already exists. CREATE TABLE IF NOT EXISTS
will create the table if it doesn't exist, or ignore the command if it does. If you want it to delete the old table, use DELETE TABLE IF EXISTS
before CREATE TABLE
. If you want to change the schema, use ALTER TABLE
, not CREATE TABLE
.