Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Java Мобильная разработка (Android)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Excel VBA, CAD, Софт, ОС, Windows, Ubuntu, Android, VPS
Win Api, Assembler, C++, Java, Pascal, Lazarus, Delphi, OpenGL, DirectX
C#, Qt, .NET, ASP.NET, Windows Forms, ADO.NET, Framework, WPF, UWP, WinRT, XAML
HTML, CSS, JavaScript, Ajax, PHP, Perl, Python, Ruby, SQL, WordPress, API, XML, JSON, ActionScript, Flash

Ответ
 
Опции темы
Старый 11.10.2016, 20:46   #1
JanCover
Новичок
 
Регистрация: 09.03.2016
Сообщений: 10
Репутация: -10
По умолчанию Проверка введённого логина и пароля по подключённой базе данных ms sql

Всем привет =)
Такая проблема
Есть база данных MS SQL, в которой записаны какие-то данные (столбцы логинов и паролей)
Мне нужно сделать прожину на андроиде, где я буду вводить логин и пароль, а она будет обращаться к базе данных и смотреть есть такой логин и соответствует ему этот пароль, затем если есть и всё гуд, то переходить на другое окно, если нет, то выводить сообщение по типу "Сударь, да вы херню ляпнули -_-"
Зачем пишу сюда
Есть таблица, создал, сделал оболочку приложения, накидал всего и вроде как написал код подключения, да вот только не очень и хочет всё это работать, то ли не подключается, то ли я не ту инфу на нашёл =/
Подскажите кто чем может
Кто инфу нужную, кто примерчик =)

Вот код подключения
Код:

import android.annotation.SuppressLint;
import android.os.StrictMode;
import android.util.Log;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
 
public class ConnectionClass {
    String ip = "192.168.1.4";
    String classs = "net.sourceforge.jtds.jdbc.Driver";
    String db = "DBProv";
    String un = "user";
    String password = "pass";
 
 
    @SuppressLint("NewApi")
    public Connection CONN() {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
        StrictMode.setThreadPolicy(policy);
        Connection conn = null;
        String ConnURL = null;
        try {
 
            Class.forName(classs);
            ConnURL = "jdbc:jtds:sqlserver://" + ip + ";"
                    + "databaseName=" + db + ";user=" + un + ";password="
                    + password + ";";
            conn = DriverManager.getConnection(ConnURL);
        } catch (SQLException se) {
            Log.e("ERRO", se.getMessage());
        } catch (ClassNotFoundException e) {
            Log.e("ERRO", e.getMessage());
        } catch (Exception e) {
            Log.e("ERRO", e.getMessage());
        }
        return conn;
    }
}

Вот код приложения
Код:

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.Toast;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
 
public class MainActivity extends Activity
{
    ConnectionClass connectionClass;
    EditText edtuserid,edtpass;
    Button btnlogin;
    ProgressBar pbbar;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        connectionClass = new ConnectionClass();
        edtuserid = (EditText) findViewById(R.id.et_username);
        edtpass = (EditText) findViewById(R.id.et_password);
        btnlogin = (Button) findViewById(R.id.btn_Login);
        pbbar = (ProgressBar) findViewById(R.id.pbbar);
        pbbar.setVisibility(View.GONE);
 
        btnlogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DoLogin  doLogin = new DoLogin();
                doLogin.execute("");
 
            }
        });
 
    }
 
 
    public class DoLogin extends AsyncTask<String,String,String>
    {
        String z = "";
        Boolean isSuccess = false;
 
 
        String userid = edtuserid.getText().toString();
        String password = edtpass.getText().toString();
 
 
        @Override
        protected void onPreExecute() {
            pbbar.setVisibility(View.VISIBLE);
        }
 
        @Override
        protected void onPostExecute(String r) {
            pbbar.setVisibility(View.GONE);
            Toast.makeText(MainActivity.this,r,Toast.LENGTH_SHORT).show();
 
            if(isSuccess) {
                Toast.makeText(MainActivity.this,r,Toast.LENGTH_SHORT).show();
            }
 
        }
 
        @Override
        protected String doInBackground(String... params) {
            if(userid.trim().equals("")|| password.trim().equals(""))
                z = "Please enter User Id and Password";
            else
            {
                try {
                    Connection con = connectionClass.CONN();
                    if (con == null) {
                        z = "Error in connection with SQL server";
                    } else {
                        String query = "select * from pathologic_app_users where username='" + userid + "' and password='" + password + "'";
                        Statement stmt = con.createStatement();
                        ResultSet rs = stmt.executeQuery(query);
 
                        if(rs.next())
                        {
 
                            z = "Login successfull";
                            isSuccess=true;
                        }
                        else
                        {
                            z = "Invalid Credentials";
                            isSuccess = false;
                        }
 
                    }
                }
                catch (Exception ex)
                {
                    isSuccess = false;
                    z = "Exceptions";
                }
            }
            return z;
        }
    }
}

JanCover вне форума   Ответить с цитированием
Старый 22.10.2016, 20:33   #2
sergei0194
Новичок
 
Регистрация: 22.10.2016
Адрес: Казахстан, ул. Пыльная, дом Не видно :)
Сообщений: 17
Репутация: 20
По умолчанию

Я думаю что более правильным вариантом будет если вы сначала сделаете подключение к своим PHP скриптам на сервере, а затем с помощью JSON уже извлекать все необходимые данные из БД. Юзайте HttpUrlConnection() и JSON
sergei0194 вне форума   Ответить с цитированием
Старый 22.10.2016, 20:35   #3
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 12,400
Репутация: 2542

icq: 512-7шесть5
skype: alexp.frl
По умолчанию

http://programmersforum.ru/showthread.php?t=298319
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Ну все равно вам наверно придется сделать HTTP сервис типа как в примере выше вместо прямого обращения к БД. Как минимум для безопасности.
Alex11223 вне форума   Ответить с цитированием
Старый 22.10.2016, 20:39   #4
sergei0194
Новичок
 
Регистрация: 22.10.2016
Адрес: Казахстан, ул. Пыльная, дом Не видно :)
Сообщений: 17
Репутация: 20
По умолчанию

А разве вообще кто-нибудь делает запросы с приложения на прямую в БД?
sergei0194 вне форума   Ответить с цитированием
Старый 22.10.2016, 20:45   #5
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 12,400
Репутация: 2542

icq: 512-7шесть5
skype: alexp.frl
По умолчанию

Ну автор хочет же.
Alex11223 вне форума   Ответить с цитированием
Старый 22.10.2016, 22:13   #6
sergei0194
Новичок
 
Регистрация: 22.10.2016
Адрес: Казахстан, ул. Пыльная, дом Не видно :)
Сообщений: 17
Репутация: 20
По умолчанию

Автор, юзай вот этот мой топик, я так понимаю там все ответы на все твои вопросы в общем
sergei0194 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение логина и пароля sergei92 C++ Builder 3 01.09.2015 13:58
Проверка логина и пароля Ardarik БД в Delphi 7 02.03.2013 16:20
Ввод логина и пароля Glamur1k Microsoft Office Excel 1 12.05.2011 17:47
смена пароля в базе данных на delphi !! 6666 БД в Delphi 3 10.04.2011 22:20
Проверка парроля с помошью SQL запроса в базе. iria Помощь студентам 1 11.11.2010 14:14




01:31.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru