Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Java & MySQL / 3 сообщений из 3, страница 1 из 1
05.11.2005, 19:03
    #33362639
bob_j
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java & MySQL
Проблема один:
Начал изучать Java. Использую NetBeans 4.1 под WindowsXP SR2. Пишу простенькую программку которая по щелчку на одной кнопке добавляет записи в БД а по щелчку на второй извлекает их (ниже приведен код). Текстовое значение вводится вручную в поле ввода. В качестве БД использую MySQL 4.1.
Проблема следующая, при добавлении записей в таблицу из shell MySQL кирилические символы вводятся и отображаются корректно в shell. Если же я данные ввожу в ТБД из Java-программы, то все введенные ранее из shell MySQL кирилические символы отображаются какими-то кракозябрами, а введенные из программы отображаются в виде знаков вопросов (причем введенные из программы и в shell MySQL и в Java-программе отображаются как попало). Для используемой базы данных установлен default charset cp1251.

Проблема два:
В NetBeans Build->Build Main Project создаю jar-файл. Запускаю его на выполнение, окно открывается, но с базой данных связь не устанавливается, данные ни добавляются ни извлекаются, сообщений об ошибках не возникает. Я так понимаю, кроме jar-файла проекта в папке из которой он запускается еще что-то должно быть? Или какие-то системные переменные надо прописать. В CLASSPATH прописаны: C:\Program Files\Java\jre1.5.0_04\bin;C:\Program Files\Java\jdk1.5.0_04\lib\mysql-connector-java-3.1.10\mysql-connector-java-3.1.10-bin.jar;
PATH = C:\Sun\AppServer\bin;C:\Program Files\Java\jdk1.5.0_04\bin;c:\MySQL\bin;


Код добавления (извлечения) в БД
Код: plaintext
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.
 private   void  jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                        try 
    {
       Class .forName("com.mysql.jdbc.Driver").newInstance();
    }
     catch  (Exception e)
    {
      e.printStackTrace();
    }	
     try 
    {
      Connection c = DriverManager.getConnection("jdbc:mysql://localhost/JavaTestDB?user=Vladimir&password=010875");
      Statement stmt =c.createStatement();
      ResultSet rs = stmt.executeQuery("SET NAMES cp1251");
      rs = stmt.executeQuery("SELECT* FROM JavaTest");
      ResultSetMetaData rsmd = rs.getMetaData();
      rs.next();
       this .jTextField1.setText(rs.getString( 2 ));      
      stmt.close();	
      c.close();
    }
     catch  (SQLException e)
    {
      e.printStackTrace();
    }	
    }                                        

 private   void  jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                    try 
    {
       Class .forName("com.mysql.jdbc.Driver").newInstance();
    }
     catch  (Exception e)
    {
      e.printStackTrace();
    }	
     try 
    {
      Connection c = DriverManager.getConnection("jdbc:mysql://host1/JavaTestDB?user=Vladimir&password=010875");
      Statement stmt =c.createStatement();
      ResultSet rs = stmt.executeQuery("SET NAMES cp1251");
      String queryInsert =  new  String("INSERT INTO JavaTest(id, status) values(?, ?)");
      PreparedStatement ps = c.prepareStatement(queryInsert);      
       for ( int  Index =  4 ; Index <  11 ; Index++)
	{
	  ps.setInt( 1 ,Index);
	  ps.setString( 2 ,  this .jTextField1.getText() + " " + Index);	
	  System.out.println( this .jTextField1.getText() + " " + Index);
	   int  rowsAffected = ps.executeUpdate();
        }
      stmt.close();	
      c.close();      
    }
     catch  (SQLException e)
    {
      e.printStackTrace();
    }	
    }
...
Рейтинг: 0 / 0
07.11.2005, 06:22
    #33363189
_AndreyP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java & MySQL
...
Рейтинг: 0 / 0
26.11.2005, 21:51
    #33401781
Kostyanych
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java & MySQL
Проблема один:
Юзай класс java.util.Locale (читай доки от Sun)

Проблема два:
Не знаю, все вроде должно получаться пробуй делать руками, т.е без jar -файла, а если и с ним, то проверь, есть ли у тебя в этом jar'e манифест, а так как манифест есть, то значит все тип топ и корява прога

!!! ДА, ЕСЛИ ТЫ КОННЕКТИШЬСЯ К БАЗЕ ДАННЫХ ТЕБЕ СПЕРВА НУЖНО установить ODBC-драйвер и потом создать хранилище данных

в ВИН-2000 Программы->администрирование-> источники данных(ODBC)->

и там создаешь новый источник данных.

потом тестишь прогу.


Да, скачать драйвер ODBC для MySQL можно с mysql.com драйвер называется My-ODBC и весит 3-10 метра (точно не помню) =)

Удачи
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Java & MySQL / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]