coderTOcode Ответов: 4

как подключить приложение android к sql server


Всем Привет,

У меня есть база данных SQL... и я разработал простую идею . android приложение для регистрации и входа в систему..... Теперь я хочу свою приложение для доступа то данные из SQL сервера чтобы войти в систему..... И когда пользователь пытается зарегистрироваться то данные подлежащий сохранено в Sql Server..... Так есть ли у них какой-нибудь способ получить доступ/сохранить базу данных в sql.....?
По мере того как я вытаращил глаза, я понял, что хочу использовать какой-то веб-сервис, но у меня нет хорошего примера для этого......
Так что если у вас есть/нашли какой-нибудь хороший пример для этого, я могу его получить.....!

Спасибо.....

4 Ответов

Рейтинг:
1

Ranjan.D

Вам нужен драйвер JDBC для Microsoft SQL Server.

Пожалуйста, попробуйте http://jtds.sourceforge.net/[^]

Вы можете сделать что-то вроде этого

public void ConnectToDatabase(){
    try {

         // SET CONNECTIONSTRING
         Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
         String username = "XXXXXXXXX";
            String password = "XXXXXX";
         Connection DbConn = DriverManager.getConnection("jdbc:jtds:sqlserver://192.188.4.83:1433/DATABASE;user=" + username + ";password=" + password);

         Log.w("Connection","open");
        Statement stmt = DbConn.createStatement();
        ResultSet reset = stmt.executeQuery(" select * from users ");


         EditText num = (EditText) findViewById(R.id.displaymessage);
        num.setText(reset.getString(1));

        DbConn.close();

        } catch (Exception e)
        {
        Log.w("Error connection","" + e.getMessage());
        }
}


coderTOcode

Спасибо за решение....
Я скачал драйвер по ссылке....
Но проблема в том, что я использую Android Studio для разработки приложения....
Так что я не понимаю, как импортировать этот драйвер в эту студию android....

Member 10454028

kedamin я се phaku быть Реко tomini jajaan

akira32

Я добавил сетевые разрешения и добавил jtds-1.3.1.jar в трапезную либса.

использует-разрешение Android:имя="андроида.разрешение.ИНТЕРНЕТ"
использует-разрешение Android:имя="андроида.разрешение.Штамп"

Но когда я получаю соединение, появляется сообщение об исключении(android.os.NetworkOnMainThreadException) в

DriveManager.метод getconnection. Кто-нибудь знает, что я теряю, чтобы установить?

protected void onCreate(Bundle savedInstanceState) {
супер.метод onCreate(savedInstanceState);
setContentView(R. layout.activity_main);
findViews();
}

частные void findViews()
{

пробовать {
Class.forName("net.sourceforge.jtds.jdbc.Driver").метод newinstance();
con = DriverManager.getConnection(URL, пользователь, пароль);
}
catch (исключение e)
{
Log.w("ошибка подключения","" + e.getMessage());

}

Member 12100925

можно ли подключиться?!!
я пытаюсь уже много дней, но все еще не могу подключиться!
я просто получаю ошибку для вышеуказанного кода!
нет.на SourceForge.jtds.с JDBC.Водитель

Рейтинг:
0

Dsugi16x

Добавьте свой jtds в файл build.gradle. В разделе dependecy добавьте компиляцию 'net.sourceforge.jtds:jtds:1.3.1'

А потом перестраивать. Gradle загрузит и сохранит вашу библиотеку в правильном месте внутри вашего проекта.


Рейтинг:
0

Member 12747034

package com.instinctcoder.sqlitedb;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class StudentDetail extends Activity implements android.view.View.OnClickListener{

    Button btnSave ,  btnDelete;
    Button btnClose;
    EditText editTextName;
    EditText editTextEmail;
    EditText editTextAge;
    private int _Student_Id=0;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_student_detail);
        
        btnSave = (Button) findViewById(R.id.btnSave);
        btnDelete = (Button) findViewById(R.id.btnDelete);
        btnClose = (Button) findViewById(R.id.btnClose);
 
        editTextName = (EditText) findViewById(R.id.editTextName);
        editTextEmail = (EditText) findViewById(R.id.editTextEmail);
        editTextAge = (EditText) findViewById(R.id.editTextAge);
 
        btnSave.setOnClickListener(this);
        btnDelete.setOnClickListener(this);
        btnClose.setOnClickListener(this);
 
 
        _Student_Id =0;
        Intent intent = getIntent();
        _Student_Id =intent.getIntExtra("student_Id", 0);
        StudentRepo repo = new StudentRepo(this);
        Student student = new Student();
        student = repo.getStudentById(_Student_Id);
 
        editTextAge.setText(String.valueOf(student.age));
        editTextName.setText(student.name);
        editTextEmail.setText(student.email);
    }

    @Override
    public void onClick(View view) {
        // TODO Auto-generated method stub
         if (view == findViewById(R.id.btnSave)){
                StudentRepo repo = new StudentRepo(this);
                Student student = new Student();
                student.age= Integer.parseInt(editTextAge.getText().toString());
                student.email=editTextEmail.getText().toString();
                student.name=editTextName.getText().toString();
                student.student_ID=_Student_Id;
     
                if (_Student_Id==0){
                   _Student_Id = repo.insert(student);
     
                    Toast.makeText(this,"New Student Insert",Toast.LENGTH_SHORT).show();
                }else{
     
                    repo.update(student);
                    Toast.makeText(this,"Student Record updated",Toast.LENGTH_SHORT).show();
                }
            }else if (view== findViewById(R.id.btnDelete)){
                StudentRepo repo = new StudentRepo(this);
                repo.delete(_Student_Id);
                Toast.makeText(this, "Student Record Deleted", Toast.LENGTH_SHORT);
                finish();
            }else if (view== findViewById(R.id.btnClose)){
                finish();
            }
    }
}


Рейтинг:
0

Ranjan.D

Попробуйте что-то вроде приведенного ниже, я не уверен на 100%. Вы должны сказать мне, как я никогда не использовал Android Studio

Шаги, которые необходимо выполнить для того, чтобы успешно импортировать банку в ваш проект с помощью Android Studio:

Скачать программу library.jar файл и скопируйте его в папку /libs/ внутри вашего проекта приложения.
Откройте файл build.gradle и отредактируйте свои зависимости, чтобы включить новый файл .jar:
компилировать файлы('libs/jtds.jar')

Файл -> закрыть проект
Откройте командную строку в корневом каталоге вашего проекта, т. е. 'C:\Users\Username\AndroidStudioProjects\MyApplicationProject\'
В командной строке введите gradlew clean, подождите, пока это будет сделано.
Снова откройте проект приложения в Android Studio.
Тестовый запуск вашего приложения, и оно должно успешно работать.


Ajinkya Badve

Он отлично работает с android, но дает ошибку в файле jar, сообщая что-то, что является некоторым внутренним классом, который используется в lib.Но если вы игнорируете их, это будет работать нормально.