2016-10-23 7 views
0

나는이 연구되고 내가 찾을 수있는 모든 이런 = 사실 .trace입니다 켜 제안이다 : 나는이 시도Xamarin Studio에서 SQLite.NET PCL이 생성 한 SQL을 어떻게 볼 수 있습니까?

 db1 = DependencyService.Get<ISQLite>().GetConnection(); 
     db1.Trace = true; 

:

db2.Trace = true; 
var categories = db2.Query<Category>("SELECT * FROM Category ORDER BY Name").ToList(); 
Debug.WriteLine("xxxx"); 

을 잘 나는 이런 짓을 한 다음 다시 시작 신청. 응용 프로그램 출력을 볼 때 나는 시작된 스레드 및 xxxx에 대한 정보를 보지만 SQL 추적 정보는 볼 수 없습니다.

아무에게도 이것에 대해 조언 해 줄 수 있습니까? 감사합니다

답변

0
true로 Trace을 설정 한 후 Executing

예 출력을 시작 선에 대한 Application Output 창에서

봐는 :

Executing: create table if not exists "Valuation"(
"Id" integer primary key autoincrement not null , 
"StockId" integer , 
"Time" datetime , 
"Price" float) 
Executing Query: pragma table_info("Valuation") 
Executing: create index if not exists "Valuation_StockId" on "Valuation"("StockId") 

Executing: insert into "Stock"("Symbol") values (?) 

Executing Query: select * from "Stock" where ("Symbol" like (? || '%')) 
    0: A 

심판 : https://github.com/praeclarum/sqlite-net/blob/38a5ae07c886d6f62cecd8fdeb8910d9b5a77546/src/SQLite.cs

+0

감사를 거기에 3-4 시간 찾고 :-(진심으로 나는 약간의 도움과 조언이 필요합니다. 내가 뭘했다 내 애플 리케이션, IOS 및 안드로이드 Krueger에 의해 1.2.0 너겟 패키지를 설치했다. 그러나 나는 당신이 SQLite를 참조하십시오 참조하십시오. cs 파일입니다. 응용 프로그램에 대해 알려주시겠습니까? 사용하는 nuget 패키지는 SQLit를 넣어야합니다. e.cs 파일을 몇 군데 보관합니까? 미리 감사드립니다. – Alan2

0

SQLite PCLDebug.WriteLine을 사용하는 어떤 것을 의미한다 로그는 PCL의 디버그 빌드에만 포함됩니다.

sqlite.net PCL에 대한 너겟 참조를 제거하고 (네이티브 참조로두고) SQLite.cs을 프로젝트에 추가하고 추적 플래그가 설정된 디버그 빌드를 실행하면 추적이 표시됩니다. 이 작업을 위해

내 자 마린 아이폰 OS 프로젝트의 SQLite.cs 파일을 포함 이외의 특별한 아무것도 할 필요가 없었어요 :

using (var conn = new SQLite.SQLiteConnection("mydb.sqlite") { Trace = true }) { 
    var rows = conn.Table<PodcastMetadata>().Where(row => row.DurationMinutes < 10).Select(row => new { row.Title }); 
    foreach (var row in rows) { 
     Debug.WriteLine(row); 
    } 
} 

출력 :하지만

Executing Query: select * from "PodcastMetadata" where ("DurationMinutes" < ?) 
    0: 10