Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Не пишется в файл! / 15 сообщений из 15, страница 1 из 1
21.07.2005, 14:22
    #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
21.07.2005, 14:27
    #33178113
коты
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не пишется в файл!
ваще-то DDL можно писать тока в Statment.execute
executeUpdate - для update, delete, insert
...
Рейтинг: 0 / 0
21.07.2005, 14:31
    #33178130
Jekas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не пишется в файл!
поменял на s.execute("Create TABLE authors (Name Varchar(100), Lastname Varchar(100))");
разницы нет, не создается табличка хоть убей!
...
Рейтинг: 0 / 0
21.07.2005, 14:58
    #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
21.07.2005, 15:12
    #33178265
Jekas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не пишется в файл!
Моя задача правельно ты заметил разобраться с работой jbdc... ой что ты там понаписал ужас ни чего не понятно
...
Рейтинг: 0 / 0
21.07.2005, 15:16
    #33178275
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не пишется в файл!
Возьми хотя бы Access, Excel - не самая лучшая База Данных.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
21.07.2005, 15:18
    #33178286
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не пишется в файл!
JekasНе могу записать в екселевский файл. При первом запуске проге один раз все таки данный залетели, потом я их удалил и все больше ни чего не пишется.


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

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

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


Значит ваш софт все-таки один раз сработал верно. А потом?
Условия запуска изменились? Исходник менялся?
...
Рейтинг: 0 / 0
22.07.2005, 08:33
    #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
22.07.2005, 12:41
    #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
26.07.2005, 07:30
    #33183906
Jekas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не пишется в файл!
Вообще то пробовал вписывать и поля но у меня выходила ошибка что неверное поле. Странно щас еще раз попробую.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Не пишется в файл! / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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