Страница 1 из 1
Android + Удаленная БД на MS SQL
Добавлено: 08 дек 2014, 17:10
nikomp
Добрый день!
Прохожу обучение по Вашим урокам.
Возник вопрос можно ли каким-то образом соединить БД MS SQL, которая расположена на моем ПК (управляется MS SQL Menegment Studio). Если это возможно, есть ли урок в котором это описано?
Re: Android + Удаленная БД на MS SQL
Добавлено: 08 дек 2014, 21:16
Foenix
можно. На форуме сто раз эту тему обсасывали. Воспользуйся поиском.
Re: Android + Удаленная БД на MS SQL
Добавлено: 09 дек 2014, 09:35
nikomp
Foenix писал(а):можно. На форуме сто раз эту тему обсасывали. Воспользуйся поиском.
Не сомневаюсь, что на форуме эта тема поднималась, но мой вопрос был про урок? есть или нет?
В уроке обычно все максимально сжато и понятно, на форумах часто углубляются в тонкости
Re: Android + Удаленная БД на MS SQL
Добавлено: 09 дек 2014, 15:54
doter.ua
nikomp писал(а):Foenix писал(а):можно. На форуме сто раз эту тему обсасывали. Воспользуйся поиском.
Не сомневаюсь, что на форуме эта тема поднималась, но мой вопрос был про урок? есть или нет?
В уроке обычно все максимально сжато и понятно, на форумах часто углубляются в тонкости
"Можно ли соед. БД, которая на моем ПК". Соединить с чем?
Re: Android + Удаленная БД на MS SQL
Добавлено: 09 дек 2014, 16:06
Foenix
урока такого нет
Re: Android + Удаленная БД на MS SQL
Добавлено: 26 дек 2014, 11:15
nikomp
Народ, помогите пожалуйста, не получается вывести данные в ЛОГ.
К БД подключился (подключение в отдельном потоке) а вот вывести никак не могу. Вот код:
Код: Выделить всё
package com.example.bdconnect2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
public class MainActivity extends ActionBarActivity {
final String LOG_TAG = "myLogs";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ResultSet rs = null;
int resulSetSize=0;
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
}
catch (ClassNotFoundException e) {
Log.d(LOG_TAG, "Ошибка");
}
Log.d(LOG_TAG, "Создаем поток");
Thread t = new Thread(new Runnable() {
public void run() {
Connection con = null;
String username = "user";
String password = "pas";
String URL = "jdbc:jtds:sqlserver://10.12.5.1 localhost:1433/base;";
try {
//DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver());
con = DriverManager.getConnection(URL, username, password);
Log.d(LOG_TAG,"Connection complite");
Statement st = null;
st = con.createStatement();
ResultSet rs = st.executeQuery("select top 10 * from rvwVersions");
Log.d(LOG_TAG,"Выполнили запрос");
rs.first();
}
catch(Exception e){
Log.d(LOG_TAG, e.toString());
}
}
});
t.start();
try {
while (rs.next()){
resulSetSize=resulSetSize+1;
}
} catch (SQLException e) {
// TODO Автоматически созданный блок catch
e.printStackTrace();
}
Log.d(LOG_TAG,"Получено строк "+Integer.toString(resulSetSize));
}
}
в логе сообщения
12-26 08:07:20.624: DEBUG/myLogs(378): Создаем поток
12-26 08:07:22.965: DEBUG/myLogs(378): Connection complite
12-26 08:07:22.975: DEBUG/myLogs(378): Выполнили запрос
12-26 08:07:22.975: DEBUG/myLogs(378): java.sql.SQLException: ResultSet may only be accessed in a forward direction.
Re: Android + Удаленная БД на MS SQL
Добавлено: 26 дек 2014, 15:20
Foenix
классно, стартуешь поток, а потом еще и сразу хочешь резалтсет читать. Интересно - что же там будет?
Re: Android + Удаленная БД на MS SQL
Добавлено: 26 дек 2014, 15:25
nikomp
да я уж понял, что беда в этом, но как поправить не могу понять, не подскажите?
или ссылку киньте где можно почитать
Re: Android + Удаленная БД на MS SQL
Добавлено: 26 дек 2014, 16:02
nikomp
Re: Android + Удаленная БД на MS SQL
Добавлено: 26 дек 2014, 20:31
Foenix
через handler-ы нужно работать из потока