Если ты не работал с сетью - почему так к серверу соединяешься через jdbc? кто сказал так делать?nikomp писал(а):с сетью я вообще не планировал работать, нужно просто получить результат sql запроса, несколько полей и вывести в listviewklblk писал(а):В вашем случае ResultSet видимо обращается к сети, а onPostExecute выполняется в основном потоке и отсюда ошибка NetworkOnMainThreadException.
Сделайте все операции с ResultSet в методе doInBackground, а в onPostExecute возвращайте что-нибудь нормальное, никак не работающая с сетью.
Как вывести resultset в ListView
Re: Как вывести resultset в ListView
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Как вывести resultset в ListView
ResultSet это интерфейс и бог знает как он реализован тут: net.sourceforge.jtds.jdbc.MSCursorResultSetFoenix писал(а):klblk, резалтсет это нормальное, типа курсора по-другому.
Re: Как вывести resultset в ListView
курсор это тоже интерфейс
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Как вывести resultset в ListView
я к тому что в данном случае result.first() дает ошибку, это не значит что любой ResultSet будет давать данную ошибку, но в данном случае дает.
я и порекомендовал завершить все операции с ResultSet в методе doInBackground, и не считаю это плохой рекомендацией.
я и порекомендовал завершить все операции с ResultSet в методе doInBackground, и не считаю это плохой рекомендацией.
Re: Как вывести resultset в ListView
та погоди мы вооще не знаем где ошибка пока конкретно. Скорее всего асинктаск не правильно реализован там
Я работала с резалтсетом спокойно, все там окей.
Я работала с резалтсетом спокойно, все там окей.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Как вывести resultset в ListView
выдает строку result.first(); в блокеFoenix писал(а):at com.example.bd_connect5.MainActivity$ConnectMySql.onPostExecute(MainActivity.java:85)
сюда щелкни два раза, какую строку выдает точно
Код: Выделить всё
try {
result.first();
} catch (SQLException e1) {
// TODO Автоматически созданный блок catch
Log.d(LOG_TAG, e1.getMessage());
}
Re: Как вывести resultset в ListView
ну как не знаем та:
тут все написано, место и метод
Код: Выделить всё
01-21 09:26:30.317: E/AndroidRuntime(376): at net.sourceforge.jtds.jdbc.MSCursorResultSet.first(MSCursorResultSet.java:1101)
01-21 09:26:30.317: E/AndroidRuntime(376): at com.example.bd_connect5.MainActivity$ConnectMySql.onPostExecute(MainActivity.java:85)Re: Как вывести resultset в ListView
так. Обрабатывай резалтсет свой в асинктаске в теле процесса
нафиг ты его обрабатываешь вообще в onPostExecute? это может быть длинный процесс. А выводи уже массив как результат.
Теперь я вспомнила, почему у меня проблем не было, мне в голову не приходило его обрабатывать в основном потоке просто
нафиг ты его обрабатываешь вообще в onPostExecute? это может быть длинный процесс. А выводи уже массив как результат.
Теперь я вспомнила, почему у меня проблем не было, мне в голову не приходило его обрабатывать в основном потоке просто
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Как вывести resultset в ListView
А, ну для соединения с БД. Я имел ввиду, что кроме соединения больше никак не планировал работать с сетью, соединение проходит нормально, запрос к бд отрабатываетFoenix писал(а): Если ты не работал с сетью - почему так к серверу соединяешься через jdbc? кто сказал так делать?
Re: Как вывести resultset в ListView
Хорошо. тогда поясните как передать результат ResultSet в массив, сохранив структуру. я имею ввиду что б в массиве так же было 2 поля (которые есть в sql запросе: product и type). B еще, я так понимаю, resultset никак не передать из doInBackground в onPostExecute?Foenix писал(а):так. Обрабатывай резалтсет свой в асинктаске в теле процесса
нафиг ты его обрабатываешь вообще в onPostExecute? это может быть длинный процесс. А выводи уже массив как результат.
Теперь я вспомнила, почему у меня проблем не было, мне в голову не приходило его обрабатывать в основном потоке просто
Re: Как вывести resultset в ListView
Делай свой класс с нужными полями, при обработке ResultSet сделай ArrayList объектов этого класса и уже этот ArrayList возвращай и делай из него ListView, вероятно с кастомным адаптером.
Re: Как вывести resultset в ListView
это все понятно.. просто понимай что именно ты делаешь. Это не традиционный способ получить данные с сервера.nikomp писал(а):А, ну для соединения с БД. Я имел ввиду, что кроме соединения больше никак не планировал работать с сетью, соединение проходит нормально, запрос к бд отрабатываетFoenix писал(а): Если ты не работал с сетью - почему так к серверу соединяешься через jdbc? кто сказал так делать?
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Как вывести resultset в ListView
так все таки, (для ясности) почему не получилось напрямую работать с resultset? почему нужно копировать данные сначала в arrayList?Foenix писал(а):это все понятно.. просто понимай что именно ты делаешь. Это не традиционный способ получить данные с сервера.nikomp писал(а):А, ну для соединения с БД. Я имел ввиду, что кроме соединения больше никак не планировал работать с сетью, соединение проходит нормально, запрос к бд отрабатываетFoenix писал(а): Если ты не работал с сетью - почему так к серверу соединяешься через jdbc? кто сказал так делать?
Re: Как вывести resultset в ListView
посмотрите пожалуйста правильно ли я заполняю ArrayList:klblk писал(а):Делай свой класс с нужными полями, при обработке ResultSet сделай ArrayList объектов этого класса и уже этот ArrayList возвращай и делай из него ListView, вероятно с кастомным адаптером.
Код: Выделить всё
rs = st.executeQuery("select top 10 product, type from table1");
Log.d(LOG_TAG, "Выполнили запрос");
int columnCount = rs.getMetaData().getColumnCount();
ArrayList myarray = new ArrayList();
ArrayList element;
while (rs.next()) { // retrieve data
Log.d(LOG_TAG, rs.getString("product"));
element = new ArrayList();
for (int i=0; i<=columnCount; i++)
{
element.add(rs.getObject(i));
}
myarray.add(element);
}
Re: Как вывести resultset в ListView
Нет, и объявляете не правильно. И я же говорю создать свой класс (MyClassWithUniqueName.java), Написать к нему конструктор типа MyClassWithUniqueName(String product, String type) в котором будут сохранятся соответствующие поля, и уже при работе с ResultSet создайте ArrayList<MyClassWithUniqueName>, куда пишите элементы как-то так add(new MyClassWithUniqueName(rs.getString("product"), rs.getString("type"))).
а вообще коллекции это одна из основ Java, подучите их
а вообще коллекции это одна из основ Java, подучите их
Re: Как вывести resultset в ListView
вообще это в уроках есть
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Как вывести resultset в ListView
Спасибо, большое!klblk писал(а):Нет, и объявляете не правильно. И я же говорю создать свой класс (MyClassWithUniqueName.java), Написать к нему конструктор типа MyClassWithUniqueName(String product, String type) в котором будут сохранятся соответствующие поля, и уже при работе с ResultSet создайте ArrayList<MyClassWithUniqueName>, куда пишите элементы как-то так add(new MyClassWithUniqueName(rs.getString("product"), rs.getString("type"))).
а вообще коллекции это одна из основ Java, подучите их
Re: Как вывести resultset в ListView
для спасибо кнопка есть
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Как вывести resultset в ListView
не могу найти, где она?Foenix писал(а):для спасибо кнопка есть
Re: Как вывести resultset в ListView
справа ручка желтая, маленькая кнопочка.
просто заходишь и думаешь, что тут новый вопрос, а тут просто "спасибо" Очень экономит время.
просто заходишь и думаешь, что тут новый вопрос, а тут просто "спасибо" Очень экономит время.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198