setString method

Future setString(
  1. dynamic dbName,
  2. String value
)

Implementation

Future<dynamic> setString(dbName, String value) async {
  Directory documentsDirectory = await getApplicationDocumentsDirectory();
  String path = join(documentsDirectory.path, "$dbName.db");
  Database _database = await openDatabase(path, version: _databaseVersion,
      onCreate: (Database db, int version) async {
    await db.execute(
        'CREATE TABLE ${dbName}1 (${dbName}_key INTEGER, $dbName TEXT)');
  });
  Database db = _database;

  var getValue;

  getValue = Sqflite.firstIntValue(
      await db.rawQuery('SELECT COUNT(*) FROM ${dbName}1'));

  if (getValue == 0) {
    print("data will be inserted");
    return await db.transaction((txn) async {
      return await txn.rawInsert(
          'INSERT INTO ${dbName}1(${dbName}_key, $dbName) VALUES(?, ?)',
          [1, value]);
    });
  } else {
    print("data will be updated");
    return await db.rawUpdate(
        'UPDATE ${dbName}1 SET ${dbName}_key = ?, $dbName = ?', [1, value]);
  }
}