powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Трудности Апдейта
21 сообщений из 21, страница 1 из 1
Трудности Апдейта
    #33291797
azz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
getContenetData = con.createStatement();
			PreparedStatement updateStatment = con.prepareStatement("UPDATE Counter SET CounterName = '2'");
			updateStatment.executeUpdate();
- посчему эта сволоч не пашет??? ДБ - Аксес
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33291854
Фотография Pitbull terrier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос, конечно, философский
а какая именно сволочь и как не пашет?
аксес не запускается?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33291862
yuriypalych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я могу сильно ошибаться, но возможно сволочь не пашет,
т.к. PreparedStatement работает с "вопросиками",
а затем подставляет конкретные значения.
Примерно так:
Код: 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.
            StringBuffer query =  new  StringBuffer();

            query.append("UPDATE ");
            query.append(table + " ");
            query.append("SET ");
            query.append(id_realty_ead  + "=?,");
            query.append(id_realty_date + "=?,");
            query.append(id_realty_type + "=?,");
            query.append(id_realty      + "=? ");
            query.append("WHERE ");
            query.append(id_realty_ead + "='"+vo.getIdRealtyEAD()+"'");

        EDSQLPreparedStatement statement =
            connection.prepareStatement(query.toString());

        statement.setString( 1 , vo.getIdRealtyEAD());
        statement.setDate  ( 2 ,  new  Date());
        statement.setLong  ( 3 , vo.getIdRealtyType());
        statement.setLong  ( 4 , vo.getIdRealty());

         try  {
            statement.executeUpdate();
        }  finally  {
            statement.close();
        }


EDSQLPreparedStatement - какой-то наследник класса.
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33292049
azz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не пашит - не произаодит апдейт. Хотя в предыдушей функции прекрасно про прошол селект через то же соеденение.
А разве переменные обязателны? Опять же в другой части проекта делал селект через PreparedStatement без переменных без проблем.
А как вы делаете апдейт из аксеса?
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33292084
azz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может ДБ Аксесовская быть закрыта от записи снаружи?
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33292551
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
azz
Код: plaintext
1.
2.
3.
getContenetData = con.createStatement();
			PreparedStatement updateStatment = con.prepareStatement("UPDATE Counter SET CounterName = '2'");
			updateStatment.executeUpdate();
- посчему эта сволоч не пашет??? ДБ - Аксес

1. Зачем тебе еще один statement (updateStatement), когда ты уже создал один (getContentData)?

2. Попробуй так:
Код: plaintext
1.
2.
3.
getContenetData = con.createStatement();
getContentData.execute("UPDATE Counter SET CounterName = '2'");
getContentData.close();

Ну и выложи текст ошибки, которая у тебя вываливается.
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33292574
Фотография Pitbull terrier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может нуна транзакцию закоммитить?

типа con.commit(); ?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33292616
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pitbull terrier
может нуна транзакцию закоммитить?

типа con.commit(); ?

Posted via ActualForum NNTP Server 1.3

У Connection autoCommit по умолчанию true. Никаких коммитов делать не надо.
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33292634
Фотография Pitbull terrier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>У Connection autoCommit по умолчанию true.

мне почему-то думается, что это от драйвера зависит

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33292673
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pitbull terrier
>>У Connection autoCommit по умолчанию true.

мне почему-то думается, что это от драйвера зависит

Posted via ActualForum NNTP Server 1.3

нет
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33292696
azz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А скину ка я вам весь класс. Может и получится что. Простите что коменты на неметском
Код: 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.
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.
 package  de.Calypso.tools;

 import  java.sql.Connection;
 import  java.sql.DriverManager;
 import  java.sql.PreparedStatement;
 import  java.sql.ResultSet;
 import  java.sql.SQLException;
 import  java.sql.Statement;


 public   class  DBprovider {
	 private   final   int  DBART =  1 ;
	 private   static  DBprovider DBlinc;
	 private  Connection con;
	
 private  DBprovider()  throws  SQLException {
		 switch  (DBART) {			//Ich fersuche jetzt DB konnektion für 3 DB- Vareanten zu realisiren
		 case   1 :						//Wareant "Access"
			 try  {
				//Initialisirung von DB Dreiver
				 Class .forName("sun.jdbc.odbc.JdbcOdbcDriver");
				//DB Location
				String database = "jdbc:odbc:Driver=Microsoft Access Driver (*.mdb);DBQ=DB/Calypso.mdb;";
				con = DriverManager.getConnection(database);
			}  catch  (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				System.out.println("DB error: " + e.getMessage());
				e.printStackTrace();
			}
			 break ;
		 case   2 :					//Wareant "MySQL".Speter
			 break ;
		 case   3 :					//Wareant "HSQLDB".Speter
			 break ;
		}
	}

	 public   static  DBprovider getInstance()  throws  SQLException {
		 if  (DBlinc ==  null ) {
			DBlinc =  new  DBprovider();
		}
		 return  DBlinc;
	}

	 public  Connection getConnection() {
		 return  con;
	}

		 public  String reservNextCounter(String CounterName) {
		Statement getCountertData;
		 try  {
			getCountertData = con.createStatement();
			String getCounterSQL = "select * from Counter where CounterName = '"
					+ CounterName + "'";
			ResultSet rs = getCountertData.executeQuery(getCounterSQL);
			 if  (rs.next()) {
				 int  intCounter = rs.getInt("Counter") +  1 ;
				 int  year = rs.getInt("Year");
				 int  size = rs.getInt("Size");
				//
				String counterNr = Integer.toString(intCounter);
				 while  (counterNr.length() < size) {
					counterNr = "0" + counterNr;
				}
				String counterYear = Integer.toString(year);
				 if  (counterYear.length() ==  1 ) {
					counterYear = "0" + counterYear;
				}
				String counter = counterYear + "-" + counterNr;
				 return  counter;
			}  else  {
				System.out.println("Ungultige Counter name");
			}

		}  catch  (SQLException e) {
			e.printStackTrace();
		}
		 return  "X";
	}

	 public   void  conformCounter(String CounterName) {
		 try  {
			Statement updateStatment = con.createStatement();
			updateStatment.executeUpdate("UPDATE Counter SET Counter = 3");
		}  catch  (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33293629
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и какую ошибку дает драйвер при попытке записи?

поле каунтер случаем не типа счетчик?
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33293695
azz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никакой ошибки! Ето какраз с ума и сводит. ПРосто нисего не происходит...
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33293725
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 azz: Скажи какой тип у Counter?
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33293738
azz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
numeric
Понимаеш, проблема в том что ДБ должен быть внутри проги.. типа локалный.. поетому и взал Аксес.. Щас пробию hsqldb подключить . Может с ним получится..
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33293785
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
azznumeric
Понимаеш, проблема в том что ДБ должен быть внутри проги.. типа локалный.. поетому и взал Аксес.. Щас пробию hsqldb подключить . Может с ним получится..
вот hsqldb и бери, многие советують, это pure java db, а аксесс ацтой, только под виндой будет работать.
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33293795
azz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кто скинит тогда советы как её ставить и конентится?
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33293853
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33294446
azz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже я начал подбераться к решению. Короче так:
1. Я перешол на hsqldb. Это было не просто и стоило нервов но я справился. Результат - тот же!! Т.е. апдейт не результатов не ошибок не дает. А потом я решил проверет ето прямо в программе и сделал так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
dBlinc = DBprovider.getInstance();
			System.out.println(dBlinc.reservNextCounter("test"));
			dBlinc.conformCounter("test");
			System.out.println(dBlinc.reservNextCounter("test"));
			dBlinc.conformCounter("test");
			System.out.println(dBlinc.reservNextCounter("test"));
			dBlinc.conformCounter("test");
			System.out.println(dBlinc.reservNextCounter("test"));
			dBlinc.conformCounter("test");
			System.out.println(dBlinc.reservNextCounter("test"));
			dBlinc.conformCounter("test");
			System.out.println(dBlinc.reservNextCounter("test"));
			dBlinc.conformCounter("test");
И как не странно получил именно то что нада:
Код: plaintext
1.
2.
3.
4.
 05 - 0002 
 05 - 0003 
 05 - 0004 
 05 - 0005 
 05 - 0006 
Вот только после ДБ остовался все еше не измененной.... Я подозреваю что все изменения сбрасываются если их какимто образом не подтвердить. Чтото типа Transactions? Как это сделать или как отменить подобный режим???
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33294814
mansch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
//Ungultige Counter name
вы в Германии что ли работаете ?
...
Рейтинг: 0 / 0
Трудности Апдейта
    #33295099
azz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для "mansch" - да, в Мюнхине. А вы?
Продолжение истории моего процесса "Любви" с базами данных - в моем следуйщем сообщение.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Трудности Апдейта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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