2014-10-15 5 views
0

sqljocky를 사용하여 mysql 데이터베이스를 쿼리하려고합니다. 이 쿼리는 phpmyadmin에서 제대로 작동하고 5 행의 데이터를 반환합니다. 다트에서 예외가 발생했습니다 :sqljocky 쿼리 - 메서드를 찾을 수 없습니다.

Class '_ResultsImpl' has no instance method 'forEach'. 

쿼리 콜백에서 중단 점을 만들었습니다. 결과 개체 공용 파일이 비어 있습니다. enter image description here

핑 기능이 제대로 작동하므로 기본 연결이 설정됩니다. enter image description here

"간단한 테이블"쿼리를 쿼리해도 데이터가없는 빈 결과 인스턴스가 반환됩니다. 아래

쿼리 코드 :

var pool = new ConnectionPool(
     host: '127.0.0.1', port: 8889, 
     user: 'root', password: 'root', 
     db: 'lulzvideo', max: 5); 


pool.query('select id, title from users') 
    .then((results) { 
     results.forEach((row) { 
     print('Name: ${row[0]}, email: ${row[1]}'); 
     }); 
    }); 
+0

귀하의 코드는 나를 위해 일한,하지만 난 주에 (약간 내 테이블에 대한 수정)이 코드를 삽입하는 경우가 완료되지 않습니다 . 따라서, 마지막 세미콜론 앞에 * .then ((_) => pool.close()) * 을 추가하면 정상적으로 작동합니다. 연결 매개 변수에 대해 확신합니까 (예 : 원하는 데이터가있는 DB를 가리키고 있습니까?) 나는 sqljocky-0.11.0을 사용하고 있습니다. – user1338952

답변

0
result.listen((row) { 
    // Import into object 
    object.Import(row); 

sqljocky querying database synchronously

+0

궁금합니다. 왜 그런가요? result.rows는 비어 있습니다. 코드가 인쇄 줄에 도착하지 않으면 forEach에서 실패합니다. 'null 객체에 getter 'length'가 없습니다. ' – kolombet

+1

결과가 스트림 인 것 같습니다. 더 많은 코드를 보려면 링크 된 답변을 참조하십시오. –

관련 문제