sql_query 0.0.2+3 sql_query: ^0.0.2+3 copied to clipboard
Extended Function for sqflite.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:sql_query/database_model.dart';
import 'package:sql_query/sql_query.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
Future.delayed(Duration.zero, () async {
await DB.init(
databaseName: 'testing',
tableList: [
TableDatabase(
tableName: 'user',
column: [
ColumnDatabase(
name: 'id',
typeData: DataType.integer,
primaryKey: true,
autoIncrement: true,
),
ColumnDatabase(
name: 'name',
typeData: DataType.text,
),
],
),
TableDatabase(
tableName: 'sales',
column: [
ColumnDatabase(
name: 'id',
typeData: DataType.integer,
primaryKey: true,
autoIncrement: true,
),
ColumnDatabase(
name: 'userId',
typeData: DataType.integer,
),
ColumnDatabase(
name: 'price',
typeData: DataType.double,
),
],
),
TableDatabase(
tableName: 'product',
column: [
ColumnDatabase(
name: 'id',
typeData: DataType.integer,
primaryKey: true,
autoIncrement: true,
),
ColumnDatabase(
name: 'salesId',
typeData: DataType.integer,
),
ColumnDatabase(
name: 'userId',
typeData: DataType.integer,
),
ColumnDatabase(
name: 'count',
typeData: DataType.double,
),
],
),
],
);
});
initPlatformState();
}
// Platform messages are asynchronous, so we initialize in an async method.
Future<void> initPlatformState() async {}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Center(
child: GestureDetector(
onTap: () async {
final res = await DB.query(
'sales',
databaseQuery: DatabaseQuery(
insert: Transaction(
listData: [
{'userId': '1', 'price': "20.0"},
],
),
),
);
await DB.query(
'user',
databaseQuery: DatabaseQuery(
insert: Transaction(
listData: [
{'name': 'FDhunter'},
],
),
),
);
await DB.query(
'product',
databaseQuery: DatabaseQuery(
insert: Transaction(
listData: [
{'salesId': '1', 'userId': '1', 'count': '999'},
],
),
),
);
final getit = await DB.query(
'user',
databaseQuery: DatabaseQuery(
get: Transaction().join('product', function: (trx) {
trx.joins = [
Join('userId', 'id'),
Join('id', 'id', operator: '!='),
];
}),
),
);
for (var i in getit) {
print(i);
}
},
child: const Text('Click To Run'),
),
),
),
);
}
}