self sqflite sample =======================

import 'package:path_provider/path_provider.dart';
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:sqflite/sqflite.dart';
import 'package:path/path.dart';

main() =>runApp(MaterialApp(home: MyApp(),));


class MyApp extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return MyAppState();
  }
}

class MyAppState extends State<MyApp> {
  TextEditingController _textController = TextEditingController();

  Future createDB() async{
    var path =(await getApplicationDocumentsDirectory()).path;
    var dbPath = join(path, 'whois.db');
    Database _database = await openDatabase(dbPath, version: 1, onCreate: (db, ver){
      db.execute('CREATE TABLE whois (id INTEGER PRIMARY KEY, name TEXT)');
    });
    return _database;
  }

  Future addData (Database db) async {
    var a = await db.insert('whois', {'name':'${_textController.text}'});
    print('$a, done');
    db.close();
  }

  Future getData (Database db) async {
    var b = await db.rawQuery('SELECT * FROM whois');
    print(b);
    db.close();
  }

  checkString () async {
    var yy = await createDB();
    await getData(yy);
  }

  addString () async {
    var xx = await createDB();
    await addData(xx);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('as'),),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: <Widget>[
          Text('ss'),
          TextField(controller: _textController,),
          RaisedButton(child: Text('add'), onPressed: addString,),
          RaisedButton(child: Text('get'), onPressed: checkString,),
        ],
      ),
    );
  }
}

  

猜你喜欢

转载自www.cnblogs.com/pythonClub/p/10692595.html