Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Программирование Android Android и джойстик https://www.cyberforum.ru/ android-dev/ thread1416961.html
Всем привет Я создаю игру что то наподобие "alien shooter" и управлять героем с экрана как то не очень удобно и вот хочу в проекте реализовать поддержку джойстика. А как его подключать и что для него использовать я не знаю, помогите плз информацией.
Программирование Android Синхронизация баз данных на клиенте и сервере
Здравствуйте, подскажите как реализовать простенькое клиент-серверное приложение в котором при редактировании бд сервера автоматически будет менятся бд клиента на устройстве (я понял так выглядит механизм репликация), спасибо)
Программирование Android Изменить голубой цвет "список закончился" https://www.cyberforum.ru/ android-dev/ thread1416893.html
Не знаю у кого как, но у меня при листании за пределы списка появляется голубая "туманная полоска" с той стороны где она закончилась (списки сверху вниз, табы справа-налево). Могу ее полностью отключить в моих списках запретив листать за пределы, но можно ли изменить цвет??? Голубой дико смотрится на красном, рыжем или коричневых тонах! Например сейчас у меня установлена Voice Recorder на...
Программирование Android Режим полета - перехват изменения, включение, отключение Помогите! Кто что знает, слышал, писал... Поможет все! Кнопка случайно нажимается и... я вне связи! И даже не знаю об этом! Есть ли ресиверы? Можно ли узнавать по таймеру функцией? Можно ли вернуть после случайного отключения - включить. Можно ли отключать по таймеру (на ночь). Где-то находил индикатор активации для двухсимочного - для каждой симки, но не уверен что это универсально. ... https://www.cyberforum.ru/ android-dev/ thread1416886.html
Программирование Android Получить отдельный кадр с камеры
У меня идет захват видео через камеру. Но мне нужно анализировать из этого видео кадры. Как правильно сохранять каждый кадр видео с камеры?? Какая есть для этого структура?? Можете написать фрагмент сохранения(выделения) отдельных кадров видео с камеры?? Добавлено через 1 час 29 минут Мне в моем приложении нужно просто брать кадр и анализировать. Для этого нужно сохранять его куда нибудь в...
Программирование Android Debugger, как правильно с ним работать? День добрый. Подключаю свой девайс к компьютеру, Android Studio его видит. В режиме дебагинга выбираю запустить приложение на моём устройстве. Ранее никаких проблем не было и приложение всегда запускалось, и на всех брикпоинтах программа останавливалась. А вдруг непонятно с чего начались 2 беды: 1) Приложение просто не запускается. AS пишет "Connected to the target VM, address:... https://www.cyberforum.ru/ android-dev/ thread1416814.html
Программирование Android ImageButton с картинкой из файла https://www.cyberforum.ru/ android-dev/ thread1416805.html
Доброе время суток, подскажите новичку, плиз, можно ли создать кнопку с загружаемой картинкой? Вроде классическое создание ImageButton выглядит примерно так ImageButton nbutton1 = (ImageButton)findViewById(R.id.imageButton1); nbutton1.setImageResource(R.drawable.ic_action_search); А мне бы хотелось типа nbutton1.setImageResource("/mnt/sdcard/Download/userpicture.png"); Возможно ли такое?
Программирование Android Остановка / воспроизведение аудио
выручайте) в общем, есть всего одна кнопка, которая останавливает и воспроизводит изначально запущенное аудио. почему она только останавливает, а при повторном нажатии ничего не меняется? @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fourth); mySound = MediaPlayer.create(this,...
Программирование Android Не загружается фрагмент в вкладках ActionBar https://www.cyberforum.ru/ android-dev/ thread1416663.html
Пытаюсь создать ActionBar с табами. Когда во вкладки не передаётся фрагменты то всё работает, но стоит подключить фрагмент вылетает исключение: 04-09 12:33:33.453: E/AndroidRuntime(13064): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.tacticalgenirator/com.example.tacticalgenirator.MainActivity}: java.lang.IllegalArgumentException: No view found for id...
Программирование Android Не создается база данных https://www.cyberforum.ru/ android-dev/ thread1416637.html
Здравствуйте, начал только изучать базу данных, и вот проблема в Android Studio в File Explorer в data / data я базу созданную не вижу: Вот код: Сам класс с базой данных: package database.test.database; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.provider.BaseColumns;
Программирование Android Фрагменты и смена положения телефона
LicenseAgreementFragment licenseAgreementFragment = new LicenseAgreementFragment(); FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.replace(R.id.welcome_content, licenseAgreementFragment); transaction.commit(); В этом отрывке кода одит фрагмент заменяется другим. Но при повороте экрана(смена ориентации) оба становятся видны. Как это исправить? Спасибо
8 / 8 / 4
Регистрация: 11.03.2015
Сообщений: 212
0

"Attempt to re-open an already-closed object" при работе с SQLite - Программирование Android - Ответ 7458740

09.04.2015, 18:03. Показов 8419. Ответов 41
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Разрабатываю приложение и столкнулся с проблемой... Лог выдаёт вот такое:

FATAL EXCEPTION: main
java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase:

Понапихал Log.v всюду, чтобы разобраться, но ни как, мой уровень не позволяет.
Ясное дело гуглил, но либо я дурак, либо лыжи... Так что взываю о помощи к вам. В заранее спасибо.


Та самая проблемная активити.
EventActivity.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_event);
 
        Log.v(TAG, "ОТКРЫВАЕМ ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ" );
 
        // открываем подключение к БД
        db = new DB(this);
        db.open();
 
        Log.v(TAG, "ОК- ОТКРЫЛИ" );
 
        // РАСКРЫВАЮЩИЕСЯ СПИСОКИ
 
        edtMan = (Spinner) findViewById(R.id.ManSpinner);
        edtET = (Spinner) findViewById(R.id.ETSpinner);
        edtMeet = (Spinner) findViewById(R.id.MeetingSpinner);
 
        //СПИНЕРЫ MAN - EVENT TYPE - MEET
        CreatNewSpinnerFU("man", "name", edtMan);
        CreatNewSpinnerFU("event_type", "name", edtET);
        CreatNewSpinnerFU("meeting", "name", edtMeet);
 
 
        checkboxEvent = (CheckBox) findViewById(R.id.checkBox);
 
        Log.v(TAG, "ЖДЁМ 'ТЫК' КНОПКИ" );
 
        btnEvent  = (Button) findViewById(R.id.new_event_in_tab);
        btnEvent.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Do something in response to button click
 
                boolean checkMan= !true,
                        checkET = !true,
                        checkMeet = !true;
 
                Log.v(TAG, "ТЫК!" );
 
                //checkMan = !true; checkET = !true; checkMeet = !true;
 
                Log.v(TAG, "РАБОТАЕ С МАНАМИ --- if (edtMan.getSelectedItem() != null) ---" );
 
                if (edtMan.getSelectedItem() != null)
                {
                    Log.v(TAG, "----if МЫ ВНУТРИ  -----" );
                    Log.v(TAG, "----if -----   checkMan = true;" );
                    checkMan = true;
                    Log.v(TAG, "----if -----   checkMan = true;-- ОК" );
 
 
                    Log.v(TAG, "----if----- ПРИСВАИВАЕМ КУРСОРУ  cur = db.GetCatalogValueByName(.........);" );
                    cur = db.GetCatalogValueByName("man", "_id", "name", edtMan.getSelectedItem().toString());
                    Log.v(TAG, "----if----- ПРИСВАИВАЕМ КУРСОРУ  cur = db.GetCatalogValueByName(.........);-------ОК" );
 
                    Log.v(TAG, "----if-----   ПРИСВАИВАЕМ _id ---- cManID = cur.getInt(...._id\")-----" );
                    cManID = cur.getInt(cur.getColumnIndex("_id"));
                    Log.v(TAG, "----if-----   ПРИСВАИВАЕМ _id ---- cManID = cur.getInt(...._id\")-----ОК" );
                    //db.addRec("event", DB.EVENT_COLUMN_MAN, cManID );
                }
 
                Log.v(TAG, "РАБОТАЕ С EВЕНТ ТАЙПОМ --- if (edtET.getSelectedItem() != null) ---" );
                if (edtET.getSelectedItem() != null)
                {
                    checkET = true;
                    cur = db.GetCatalogValueByName("event_type", "_id", "FullName", edtET.getSelectedItem().toString());
                    cETID = cur.getInt(cur.getColumnIndex("_id"));
                    //db.addRec("event", DB.EVENT_COLUMN_EVENT_TYPE, cETID );
                }
 
                Log.v(TAG, "РАБОТАЕ С МИТОМ --- if (edtMeet.getSelectedItem() != null) ---" );
                if (edtMeet.getSelectedItem() != null)
                {
                    checkMeet = true;
                    cur = db.GetCatalogValueByName("event_type", "_id", "FullName", edtMeet.getSelectedItem().toString());
                    cMeetID = cur.getInt(cur.getColumnIndex("_id"));
                    //db.addRec("event", DB.EVENT_COLUMN_MEETING, cMeetID );
                }
 
                Log.v(TAG, "ПРОВЕРЯЕМ ФЛАГИ НА 'TRUE' ПОСЛЕ ПИШЕМ В ТАБЛИЦУ 'event' --- if(checkMan != false & checkET != false & checkMeet != false) ---" );
 
                //Если все значения true, то записываем данные в таблицу "event"
                if(checkMan != false & checkET != false & checkMeet != false){
 
                    Log.v(TAG, "ЗАПИСЬ В ТАБЛИЦУ ---- db.addRec(\"event\", DB.EVENT_COLUMN_MAN, cManID ); ---" );
                    db.addRec("event", DB.EVENT_COLUMN_MAN, cManID );
                    Log.v(TAG, "ОК" );
 
                    Log.v(TAG, "ЗАПИСЬ В ТАБЛИЦУ ---- db.addRec(\"event\", DB.EVENT_COLUMN_EVENT_TYPE, cETID ); ---" );
                    db.addRec("event", DB.EVENT_COLUMN_EVENT_TYPE, cETID );
                    Log.v(TAG, "ОК" );
 
                    Log.v(TAG, "ЗАПИСЬ В ТАБЛИЦУ ЧЕКБОКСИКА ---- ---" );
                    db.addRec("event", DB.EVENT_COLUMN_MEETING, cMeetID );
 
                    if (checkboxEvent.isChecked() == true) {
                        db.addRec("event", DB.EVENT_COLUMN_VALUE, 1 );
                        Log.v(TAG, "ОК---1" );
 
                    }else {
                        db.addRec("event", DB.EVENT_COLUMN_VALUE, 0 );
                        Log.v(TAG, "ОК---0" );
                    }
 
                }
 
 
            }
        });
        db.close();
    }
//СОЗДАНИЕ SPINNER
    public void CreatNewSpinnerFU(String name_table, String name_column, Spinner qwerty) {
        List ListArray = new ArrayList();
        Cursor Post = db.GetCatalogByName(name_table);
        Post.moveToFirst();
 
        if (Post != null && Post.getCount() > 0) {
            do {
                ListArray.add(Post.getString(Post.getColumnIndex(name_column)));
            } while (Post.moveToNext());
 
            ArrayAdapter dataAdapterPost = new ArrayAdapter(this, android.R.layout.simple_spinner_item, ListArray);
            dataAdapterPost.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            qwerty.setAdapter(dataAdapterPost);
        }
    }

Класс с базой данных.
BD.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
public class DB {
 
    private static final String TAG = "DB__ACTIVITY";
 
 
    private static final String DB_NAME = "Allreg";
    private static final int DB_VERSION = 1;
    //man
    private static final String DB_TABLE = "man";
    public static final String COLUMN_ID = "_id";
    public static final String COLUMN_NAME = "name";
 
    private static final String DB_CREATE =
            "create table " + DB_TABLE + "(" +
                    COLUMN_ID + " integer primary key autoincrement, " +
                    COLUMN_NAME + " text" +
                    ");";
 
    //event type
    private static final String EVENT_TYPE_TABLE = "event_type";
    public static final String EVENT_TYPE_COLUMN_ID = "_id";
    public static final String EVENT_TYPE_COLUMN_NAME = "name";
 
    private static final String EVENT_TYPE_DB_CREATE =
            "create table " + EVENT_TYPE_TABLE + "(" +
                    EVENT_TYPE_COLUMN_ID + " integer primary key autoincrement, " +
                    EVENT_TYPE_COLUMN_NAME + " text" +
                    ");";
 
    //meeting
    private static final String MEETING_TABLE = "meeting";
    public static final String MEETING_COLUMN_ID = "_id";
    public static final String MEETING_COLUMN_NAME = "name";
 
    private static final String MEETING_DB_CREATE =
            "create table " + MEETING_TABLE + "(" +
                    MEETING_COLUMN_ID + " integer primary key autoincrement, " +
                    MEETING_COLUMN_NAME + " text" +
                    ");";
 
    //event
    private static final String EVENT_TABLE = "event";
    public static final String EVENT_COLUMN_ID = "_id";
    public static final String EVENT_COLUMN_MAN = "ManId";
    public static final String EVENT_COLUMN_MEETING = "MeetingId";
    public static final String EVENT_COLUMN_EVENT_TYPE = "EventTypeId";
    public static final String EVENT_COLUMN_VALUE = "Value";
 
    private static final String EVENT_DB_CREATE =
            "create table " + EVENT_TABLE + "(" +
                    EVENT_COLUMN_ID + " integer primary key autoincrement, " +
                    EVENT_COLUMN_MAN + " integer" +
                    EVENT_COLUMN_MEETING + " integer" +
                    EVENT_COLUMN_EVENT_TYPE + " integer" +
                    EVENT_COLUMN_VALUE + " integer" +
                    ");";
 
    private final Context mCtx;
 
 
    private DBHelper mDBHelper;
    private SQLiteDatabase mDB;
 
    public DB(Context ctx) {
        mCtx = ctx;
    }
 
    // открыть подключение
    public void open() {
        mDBHelper = new DBHelper(mCtx, DB_NAME, null, DB_VERSION);
        mDB = mDBHelper.getWritableDatabase();
    }
 
    // закрыть подключение
    public void close() {
        if (mDBHelper!=null) mDBHelper.close();
    }
 
    // получить все данные из таблицы DB_TABLE
    public Cursor getAllData(String name_DB) {
        String str = name_DB;
        return mDB.query(str, null, null, null, null, null, null);
    }
 
    // удалить запись из DB_TABLE
    //-----------------------------------поправить работу с _id
    public void delRec(String name_DB , String column_id , long id) {
        String str = name_DB;
        String col_id = column_id;
        mDB.delete(name_DB, col_id + " = " + id, null);
    }
 
    // ФУНКЦИЯ РАБОТЫ С БД
    // ПОЛУЧЕНИЕ СПРАВОЧНИКА ПО ИМЕНИ
    public Cursor GetCatalogByName(String FullName)
    {
        Cursor cur = mDB.rawQuery("select * from " + FullName.toString() , null);
        cur.moveToFirst();
        return cur;
    }
 
    // ПОЛУЧЕНИЕ ПОЛЯ В СПРАВОЧНИКЕ ПО ИМЕНИ ПОЛЯ И СПРАВОЧНИКА
    public Cursor GetCatalogValueByName(String CatalogFullName,
                                        String FieldFullName,
                                        String ConditionField,
                                        String Value)
    {
        //Open();
 
        Log.v(TAG, "----МЫ В GetCatalogValueByName----");
 
        Log.v(TAG,"---ПРОСМОТР ПОСТУПАЮЩИХ ДАННЫХ." + " select " + FieldFullName + " from " + CatalogFullName +
                " where " + ConditionField + " = '" + Value + "'" );
 
        Cursor cur = mDB.rawQuery(" select " + FieldFullName +
                " from " + CatalogFullName +
                " where " + ConditionField + " = '" + Value + "'"
                , null);
 
        Log.v(TAG, " select " + FieldFullName +
                " from " + CatalogFullName +
                " where " + ConditionField + " = '" + Value + "'");
 
        cur.moveToFirst();
        //Close();
 
        Log.v(TAG, cur.getCount() + "");
 
        return cur;
    }
 
    // класс по созданию и управлению БД
    private class DBHelper extends SQLiteOpenHelper {
 
        public DBHelper(Context context, String name, CursorFactory factory,
                        int version) {
            super(context, name, factory, version);
        }
 
        // создаем и заполняем БД
        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL(DB_CREATE);
            db.execSQL(EVENT_TYPE_DB_CREATE);
            db.execSQL(MEETING_DB_CREATE);
            db.execSQL(EVENT_DB_CREATE);
 
        }
 
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        }
    }
}



И сам лог
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
04-09 15:46:08.708  10679-10679/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ОТКРЫВАЕМ ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ
04-09 15:46:08.728  10679-10679/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ОК- ОТКРЫЛИ
04-09 15:46:08.728  10679-10679/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ЖДЁМ 'ТЫК' КНОПКИ
04-09 15:46:12.092  10679-10679/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ТЫК!
04-09 15:46:12.092  10679-10679/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ РАБОТАЕ С МАНАМИ --- if (edtMan.getSelectedItem() != null) ---
04-09 15:46:12.092  10679-10679/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ----if МЫ ВНУТРИ  -----
04-09 15:46:12.092  10679-10679/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ----if -----   checkMan = true;
04-09 15:46:12.092  10679-10679/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ----if -----   checkMan = true;-- ОК
04-09 15:46:12.092  10679-10679/com.example.kirukato.coolstdreg V/EVENT__ACTIVITY﹕ ----if----- ПРИСВАИВАЕМ КУРСОРУ  cur = db.GetCatalogValueByName(.........);
04-09 15:46:12.092  10679-10679/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ ----МЫ В GetCatalogValueByName----
04-09 15:46:12.092  10679-10679/com.example.kirukato.coolstdreg V/DB__ACTIVITY﹕ ---ПРОСМОТР ПОСТУПАЮЩИХ ДАННЫХ.
    select _id from man where name = 'Вася '
04-09 15:46:12.092  10679-10679/com.example.kirukato.coolstdreg D/AndroidRuntime﹕ Shutting down VM
04-09 15:46:12.092  10679-10679/com.example.kirukato.coolstdreg W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x4154d8b0)
04-09 15:46:12.102  10679-10679/com.example.kirukato.coolstdreg E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /data/data/com.example.kirukato.coolstdreg/databases/Allreg
            at android.database.sqlite.SQLiteClosable.acquireReference(SQLiteClosable.java:55)
            at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1318)
            at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1261)
            at com.example.kirukato.coolstdreg.DB.GetCatalogValueByName(DB.java:154)
            at com.example.kirukato.coolstdreg.EventActivity$1.onClick(EventActivity.java:96)
            at android.view.View.performClick(View.java:4421)
            at android.view.View$PerformClick.run(View.java:17903)
            at android.os.Handler.handleCallback(Handler.java:730)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:213)
            at android.app.ActivityThread.main(ActivityThread.java:5225)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
            at dalvik.system.NativeStart.main(Native Method)
Программа не вся, так как тут есть ограничение по символам. Надеюсь на вашу помощь.

Вернуться к обсуждению:
"Attempt to re-open an already-closed object" при работе с SQLite Программирование Android
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2015, 18:03
Готовые ответы и решения:

Ошибка "attempt to re-open an already-closed object: sqlitequery:"
Доброе утро! Реализую подсказки для SearchView. Курсор для подсказки заполняется в след. методе...

Ошибка при работе с Entity Framework (Object reference not set to an instance of an object)
Использую Entity Framework (класс MySiteDataContext). В базе есть хранимая процедура...

Attempt to assign property of non-object
Мне нужно обновить строку в БД юзера с текущем id для этого написан код ...

Notes Error: Attempt To Reopen An Open Container
Переодически слетает (индекс) вида. При открытии выдает ошибку - Notes error: Attempt to reopen an...

Open-closed principle
Является ли нарушением принципа открытости-закрытости, когда ты уже существующий класс, точнее его...

41
09.04.2015, 18:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2015, 18:03
Помогаю со студенческими работами здесь

Warning: Attempt to modify property of non-object in и Warning: Attempt to modify property of non-object in
У меня ошибки: Warning: Attempt to modify property of non-object in Joomla/Registry/Registry.php...

There is already an open DataReader associated with this Command which must be closed first
Как приостановить выполнение предыдущего запроса, чтобы выполнилась 117 строка?

There is already an open DataReader associated with this Connection which must be closed first
There is already an open DataReader associated with this Connection which must be closed first ...

Принцип open/closed и контруктором
Разбираясь с принципами SOLID возникли некоторые вопросы в понимании. А именно, нормально ли...

Ошибка при соединении с БД SQLite: Unable to open database file
Здравствуйте. Пишу на С# в VS 2013. Нужно подключиться к локальной базе. Есть следующий код:...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru