1

私は学校のプロジェクトに取り組んでいます。これには、mysql データベースからの単純なデータをブラウザで表示する必要があります。SQLJocky はブラウザーでは機能しないことを読んだので、サーバー クライアント アプリのようにして、サーバー側で db を実行することにしました (ここでインスピレーションを得ました: https://dart-lang.github.io/server/codelab / )。しかし、それはうまくいきませんでした.メッセージでクライアントAPIの作成に失敗しました:

*in ShutdownIsolate: Unhandled exception:
IsolateSpawnException: Unable to spawn isolate: Unhandled exception:
Load Error for "package:sqljocky/sqljocky.dart": No mapping for 'sqljocky' package when resolving 'package:sqljocky/sqljocky.dart'.
#0      _asyncLoadErrorCallback (dart:_builtin:155)
#1      _asyncLoadError (dart:_builtin:566)
#2      _loadPackage (dart:_builtin:605)
#3      _loadData (dart:_builtin:637)
#4      _loadDataAsync (dart:_builtin:657)
#5      _loadScriptCallback (dart:_builtin:153)
#6      _handleLoaderReply (dart:_builtin:370)
#7      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)
'file:///home/alenka/dart-pokusy/server-side-app/one-hour-codelab/server/7-serve/lib/server/dbConnector.dart': error: line 1 pos 1: library handler failed
import 'package:sqljocky/sqljocky.dart';
^
#0      Isolate.spawnUri.<spawnUri_async_body> (dart:isolate-patch/isolate_patch.dart)
#1      _asyncErrorWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:34)
#2      _RootZone.runBinary (dart:async/zone.dart:1154)
#3      _Future._propagateToListeners.handleError (dart:async/future_impl.dart:579)
#4      _Future._propagateToListeners (dart:async/future_impl.dart:641)
#5      _Future._completeError (dart:async/future_impl.dart:432)
#6      _SyncCompleter._completeError (dart:async/future_impl.dart:56)
#7      _Completer.completeError (dart:async/future_impl.dart:27)
#8      Isolate._spawnCommon.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:439)
#9      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)*

この問題を解決する方法、またはブラウザでデータベースからデータを別の方法で取得する方法を知っている人はいますか?

SQLJocky からのものを含むコードが追加されました。

`import 'package:sqljocky/sqljocky.dart';
 import 'dart:async';
...
  @ApiMethod(path: 'connect')
  Future<List<String>> dbConnect() async {
    List<String> rows = [];
    print('called dbConnect');
    var pool = new ConnectionPool(
        host: 'localhost',
        port: 3306,
        user: "root",
        password: null,
        db: 'project',
        max: 5);
    print('connection created');
    var results = await pool.query('select * from User');
    print('gonna write something from db');
    results.forEach( (row){
      print('Name: ${row[0]}, password: ${row[1]}');
      rows.add('Name: ${row[0]}, password: ${row[1]}');
    });
    return rows;
  }
`
4

1 に答える 1