Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Baron Rojo
2 / 2 / 0
Регистрация: 21.11.2012
Сообщений: 184
#1

При нажатии на кнопку выходит ошибка "Attempting to invoke method on a null object reference" - Программирование Android

29.06.2016, 18:02. Просмотров 173. Ответов 2
Метки нет (Все метки)

Доброго дня! Есть вот этот код. При нажатии на кнопку Add выдает Attempting to invoke interface method java.sql.Statement java.sql.Connection.createStatement() on a null object reference. Вопрос: в чем проблема? По идее приложение должно вставлять данные втаблицу бд
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
package example.com.mssql;
 
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.StrictMode;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
 
public class MainActivity extends ActionBarActivity {
 
    Button add;
    TextView errorlbl;
    EditText name, address, pincode;
    Connection connect;
    Context context;
    PreparedStatement preparedStatement;
    Statement st;
    String ipaddress, db, username, password;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        try {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            add = (Button) findViewById(R.id.btnadd);
 
 
            errorlbl = (TextView) findViewById(R.id.lblerror);
            name = (EditText) findViewById(R.id.txtname);
            address = (EditText) findViewById(R.id.txtaddress);
            pincode = (EditText) findViewById(R.id.txtpincode);
            ipaddress = "192.168.56.1";   // this is the ip address of your computer  where sql is installed
            db = "mydatabase"; // name of your database
            username = "praveen"; // username for the database
            password = "789"; // password
 
 
 
        }
        catch ( Exception ex)
        {
            Toast.makeText(getApplicationContext(),"onCreate() \n"+ ex.getMessage(),Toast.LENGTH_SHORT).show();
        }
        connect = ConnectionHelper(username, password, db, ipaddress);
 
        add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
 
                    st = connect.createStatement();
                    preparedStatement = connect
                            .prepareStatement("insert into studentRecord(Name,Address,Pincode) values ('"
                                    + name.getText().toString()
                                    + "','"
                                    + address.getText().toString()
                                    + "','"
                                    + pincode.getText().toString() + "')");
                    preparedStatement.executeUpdate();
                    errorlbl.setText("Data Added successfully");
                } catch (Exception e) {
                    Toast.makeText(getApplicationContext(),"onCreate() \n"+ e.getMessage(),Toast.LENGTH_SHORT).show();
                    errorlbl.setText(e.getMessage().toString());
                }
            }
        });
    }
 
    @SuppressLint("NewApi")
    private Connection ConnectionHelper(String user, String password,
                                        String database, String server) {
        Connection connection = null;
 
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
        StrictMode.setThreadPolicy(policy);
 
        String ConnectionURL = null;
        try {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            ConnectionURL = "jdbc:jtds:sqlserver://" + server + ";"
                    + "databaseName=" + database + ";user=" + user
                    + ";password=" + password + ";";
            connection = DriverManager.getConnection(ConnectionURL);
        } 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 connection;
 
 
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2016, 18:02     При нажатии на кнопку выходит ошибка "Attempting to invoke method on a null object reference"
Посмотрите здесь:
Ошибка Attempt to invoke virtual method on a null object reference Android
Ошибка Attempt to invoke virtual method on a null object reference Android
Android "В приложении произошла ошибка" при нажатии на кнопку перехода на какую-либо активность
Ошибка on a null object reference Android
Android В созданном браузере при нажатии кнопки "Назад" выходит из приложения
Ошибка "Method call expected" при шифровании RSA Android
Ошибка java.lang.NullPointerException: Attempt to invoke virtual method Android
Android Ошибка: java.lang.NullPointerException: Attempt to invoke virtual method
Android "Attempt to re-open an already-closed object" при работе с SQLite
Android virtual device. При нажатии на "Ок" ничего не происходит Android
Сворачивание приложения при нажатии кнопки "Назад" Android
Android Полное завершение работы приложения при нажатии навигационной кнопки "Назад"

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,603
Завершенные тесты: 1
29.06.2016, 18:27     При нажатии на кнопку выходит ошибка "Attempting to invoke method on a null object reference" #2
зачем в onCreate блок try-catch, программирование наугад?
Baron Rojo
2 / 2 / 0
Регистрация: 21.11.2012
Сообщений: 184
29.06.2016, 18:30  [ТС]     При нажатии на кнопку выходит ошибка "Attempting to invoke method on a null object reference" #3
Пытаюсб отловить какой метод вызывает исключение
Yandex
Объявления
29.06.2016, 18:30     При нажатии на кнопку выходит ошибка "Attempting to invoke method on a null object reference"
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru