спасибо всем, решаем с этим кодом
public Penyakit getPenyakit1(String namaGejal){
SQLiteDatabase db = this.getReadableDatabase();
String[] colums = {nomber,namapen,idPen,namaGej,idGej};
String selection = namapen + " = ?";
String[] selectionArgs = {String.valueOf(namaGejal)};
Cursor cursor = db.query(TABLE_CONTACTS, colums, selection,
selectionArgs, null, null, null);
Penyakit penyakit = new Penyakit();
if (null != cursor) {
cursor.moveToFirst();
penyakit.set_nomber(cursor.getInt(0));
penyakit.set_namaPen(cursor.getString(1));
penyakit.set_idPenyakit(cursor.getInt(2));
penyakit.set_namGej(cursor.getString(3));
penyakit.set_idGejala(cursor.getInt(4));
}else{
penyakit=null;
}
db.close();
return penyakit;
}
Если Вы только хотите установить принципал для своего основного потока, передают ссылку фоновому потоку и затем устанавливают принципал с помощью свойства CurrentPrincipal.
например, mainThead. CurrentPrincipal=Thread. CurrentPrincipal.
Когда Вы закончены, устанавливает его на исходный принципал
Я не думаю, что можно сбросить принципал, не закрывая AppDomain и воссоздав его. Вы только получаете выстрел того в вызов SetThreadPrincipal.
Предположение, что Вы используете свой собственный объект принципала, который Вы создаете после ValidateUser; можно, вероятно, поместить метод "Выхода из системы" на принципал, который сбрасывает его внутреннее состояние неаутентифицируемому пользователю.