Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Baron Rojo
2 / 2 / 0
Регистрация: 21.11.2012
Сообщений: 202
1

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

29.06.2016, 18:02. Просмотров 442. Ответов 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;
 
 
    }
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2016, 18:02
Ответы с готовыми решениями:

Ошибка Attempt to invoke virtual method on a null object reference
Выдает ошибку. Никак не могу понять в чем проблема. Помогите плиз. Лог ошибки: Caused by:...

Ошибка Attempt to invoke virtual method on a null object reference
Здравствуйте, создаю приложение, которое работает с firebase. При отправке сообщения приложение...

Ошибка Attempt to invoke virtual metho (.) on a null object reference
Пробую добавить анимацию кнопки, при компиляции выдает ошибку "Attempt to invoke virtual method...

"В приложении произошла ошибка" при нажатии на кнопку перехода на какую-либо активность
Нужно было несколько функций в одно приложение соединить..Отдельно каждая из них как отдельная...

Ошибка on a null object reference
Появляется ошибка java.lang.NullPointerException: Attempt to invoke virtual method...

2
Pablito
2856 / 2270 / 766
Регистрация: 12.05.2014
Сообщений: 7,970
Завершенные тесты: 1
29.06.2016, 18:27 2
зачем в onCreate блок try-catch, программирование наугад?
0
Baron Rojo
2 / 2 / 0
Регистрация: 21.11.2012
Сообщений: 202
29.06.2016, 18:30  [ТС] 3
Пытаюсб отловить какой метод вызывает исключение
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2016, 18:30

В созданном браузере при нажатии кнопки "Назад" выходит из приложения
Всем привет! Недавно начал изучать как разрабатывать приложения под Android. Хочу написать...

Возникает ошибка "An object reference is required for the non-static field, method, or property"
Есть два класса. Один наследуется от другого. В унаследованном класе пытаюсь перадать в конструктор...

Цель - при нажатии на кнопку создать еще одну кнопку. Ошибка "Button" не содержит определения для "Location" и "Text""
int Control ; private void Button2_Click(object sender, RoutedEventArgs e) {...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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