powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Не пишется в файл!
15 сообщений из 15, страница 1 из 1
Не пишется в файл!
    #33178094
Jekas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я начинающий програмист, учусь по книжкам, раньше не програмировал вообще так что не пинайте сильно. Не могу записать в екселевский файл. При первом запуске проге один раз все таки данный залетели, потом я их удалил и все больше ни чего не пишется. Что не так, вот код:
import java.sql.*;
import javax.swing.*;
public class exel extends JFrame{
exel(){
super ("My exel");
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:exels");
Statement s = con.createStatement();
s.executeUpdate("Create TABLE authors (Name Varchar(100), Lastname Varchar(100))");
s.executeUpdate("INSERT INTO authors VALUES('Petya' , 'Pupkin')");
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e + "");
}
}

public static void main(String[] args) {
exel windows = new exel();
windows.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33178113
коты
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ваще-то DDL можно писать тока в Statment.execute
executeUpdate - для update, delete, insert
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33178130
Jekas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поменял на s.execute("Create TABLE authors (Name Varchar(100), Lastname Varchar(100))");
разницы нет, не создается табличка хоть убей!
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33178213
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм .. твоя цель - просто сгенерировать отчет?
Или разобратся с работой интерфейса jdbc?

В первом варианте можно проще поступить.
Сохранить текстовик следующего вида.
(для продвинутых Офисов)

Код: plaintext
1.
2.
3.
4.
5.
6.
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
........какие-то теги.....
    <Cell><Data ss:Type="String">Petya</Data></Cell>
    <Cell><Data ss:Type="String">Pupkin</Data></Cell>
........какие-то теги.....
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33178265
Jekas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моя задача правельно ты заметил разобраться с работой jbdc... ой что ты там понаписал ужас ни чего не понятно
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33178275
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возьми хотя бы Access, Excel - не самая лучшая База Данных.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33178286
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JekasНе могу записать в екселевский файл. При первом запуске проге один раз все таки данный залетели, потом я их удалил и все больше ни чего не пишется.


Хм.. может ты по рассеянности открыл файл Excel-eм и
блокируешь операции записи. Убедись что это не так.
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33178360
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый совет - разбирайся с JDBC на примере какой-нибудь нормальной БД. Начиная с HSQL и заканчивая Oracle.
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33178381
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РоманДобрый совет - разбирайся с JDBC на примере какой-нибудь
нормальной БД. Начиная с HSQL и заканчивая Oracle.
IBM Cloudscape - бесплатная.
pure Java. С неё легко перепрыгнуть на DB2 позднее.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33178408
Jekas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще причина по которой я мучаюсь с xls это то что мне нужно вытаскивать данные именно из екселя. Пока у меня ни записать не вытащить не получается. А так у меня db2 стоит и туда все залетает на ура. При запуске проге файл точно закрыт, не раз же запускал, да и прога ошибку выдает если файл закрыт для записи.
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33178453
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтение и обращение к Excel
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33178543
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы пишете:

Jekas
...
При первом запуске проге один раз все таки данный залетели, потом я их удалил и все больше ни чего не пишется.
..


Значит ваш софт все-таки один раз сработал верно. А потом?
Условия запуска изменились? Исходник менялся?
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33179279
Jekas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВы пишете:

Jekas
...
При первом запуске проге один раз все таки данный залетели, потом я их удалил и все больше ни чего не пишется.
..


Значит ваш софт все-таки один раз сработал верно. А потом?
Условия запуска изменились? Исходник менялся?
вот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 import  java.sql.*;
 import  javax.swing.*;
 public   class  exel  extends  JFrame{
	exel(){
		 super  ("My exel");
		 try {
		 Class .forName("sun.jdbc.odbc.JdbcOdbcDriver");
		Connection con = DriverManager.getConnection("jdbc:odbc:exel");
		Statement s = con.createStatement();
                  int  result = s.executeUpdate("insert into [authors] values('Illinois1',126006201)");
		}
		 catch (Exception e){
			JOptionPane.showMessageDialog( null ,e);
		}
	}

	 public   static   void  main(String[] args) {
		 new  exel();
	}
}
Тоесть есть екселевский файл там лист authors. Певый раз записалось, но при втором запуске прога ругнулась типа мол не могу использовать заполненный диапазон, ну я стер данные, запускаю снова и тишина, прога не выдает ни каких ошибок, как будто пишет, а аоткрываешь файл...пусто.. Причем лист authors я создал тоже из программы раньше, это наверное не логично и не правельно но все таки это сработало и данные записались, вот как я создал этот лист
s.executeQuery("Create TABLE authors (Name Varchar(100), Lastname Varchar(100))");
Лист то создался но вывалилась ошибка не помню какая но не суть...Суть в том что если я руками создаю страничку и потом пытаюсь туда что нить писануть то вываливается ошибка мол типа нет такого листа...
руководствовался этим материалом
http://www.devx.com/Java/Article/17848/0/page/2
Вопрос написано как вставить в лист данные но что то не пойму как указать определнные ячейки куда писать делал так:
int result = s.executeUpdate("insert into [authors]('A1','B1') values('Illinois1',126006201)"); но в ответ неверное имя поля A1 до B2 не доходит даже..
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33179941
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты не пробовал в первой строке листа указать имена полей? Я создал файл test.xls (он приложен к сообщению), настроил в нему ODBC с именем ExcelJavaTest, далее:
Код: 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.
 public   class  ExcelTest {

   static   final  String DATABASE_URL = "jdbc:odbc:ExcelJavaTest";

   public   static   void  main(String[] args)
     throws  SQLException {
    Connection con =  null ;
    Statement st =  null ;
    ResultSet rs =  null ;
     try  {
      DriverManager.registerDriver( new  sun.jdbc.odbc.JdbcOdbcDriver());

      con = DriverManager.getConnection(DATABASE_URL);
      st = con.createStatement();
      rs = st.executeQuery("select * from [Sheet1$]");
       while  (rs.next()) {
        System.out.println(rs.getInt("id") + " : " + rs.getString("code"));
      }
      st.execute("insert into [Sheet1$] (id, code) values (4, 'four')");
      rs = st.executeQuery("select * from [Sheet1$]");
       while  (rs.next()) {
        System.out.println(rs.getInt("id") + " : " + rs.getString("code"));
      }
    }  finally  {
//      if (rs != null) { rs.close();}
       if  (st !=  null ) { st.close();}
       if  (con !=  null ) { con.close();}
    }

  }
}

И все выводится и вставляется сколько угодно раз. Но создать новый лис не получилось. на

Код: plaintext
st.executeQuery("create table authors (name varchar(100), lastname varchar(100))");
выдает:

java.sql.SQLException: [Microsoft][ODBC Excel Driver] The Microsoft Jet database engine could not find the object 'authors'. Make sure the object exists and that you spell its name and the path name correctly.

на
Код: plaintext
st.executeQuery("create table [authors$] (name varchar(100), lastname varchar(100))");
выдает:
java.sql.SQLException: [Microsoft][ODBC Excel Driver] 'authors$' is not a valid name. Make sure that it does not include invalid characters or punctuation and that it is not too long.
...
Рейтинг: 0 / 0
Не пишется в файл!
    #33183906
Jekas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще то пробовал вписывать и поля но у меня выходила ошибка что неверное поле. Странно щас еще раз попробую.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Не пишется в файл!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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