この問題の解決策を得るために、私は今何時間も探しています:
私のAndroidアプリの最初に、ボタンのあるレイアウトがユーザーに表示されます。[タスク]ボタンをクリックすると、listViewがポップアップ表示され(別のアクティビティとレイアウト)、使用可能なすべてのタスクが表示されます。1つをクリックすると、さらに多くのことができますが、私の問題には必要ありません。重要なのは、アプリはデータベースからデータを取得しませんが、すべてのDBStuffのメソッドを呼び出す行にステップインまたはステップオーバーすると、アプリは機能します。必要な行は次のとおりです。
if (connection1.OpenDatabase(1, getDataBaseName()))
{
CTask = connection1.DBQueryTable(getDataBaseName(), "Tasks", TempFieldT);
CEquipment = connection1.DBQueryTable(getDataBaseName(), "Equipment", TempFieldE);
connection1.CloseDatabase();
}
したがって、彼はそれらの行を実行し、その下の行を実行しますが、ブレークポイントとステップでデータを監視していない場合は、データを返しません。私がそれをするとき、すべてのものは彼らがすべきように働きます。
この場所でアプリが実行するデータベーススタッフ。
public Android.Database.ICursor DBQueryTable(string DataBaseName, string TableName, string[] Fields)
{
FindDBPath(DataBaseName);
Android.Database.ICursor c;
string TempF = "";
string str = "";
foreach (string n in Fields)
{ TempF += n + ","; }
SQLQuery = "SELECT " + (str = TempF.TrimEnd(',')) +" FROM " + TableName;
c = sqldTemp.RawQuery(SQLQuery, null);
return c;
}
では、なぜアプリ/コンパイラ/デバッガはこのように動作するのですか?私がした間違いはありますが、今はわかりませんか?
追伸:ええ、クエリ関数があることは知っていますが、それが私の問題の解決策を提供する限り、ここでは必要ありません。