Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Знакомство с JDBC 
:(
    Опции темы
Snik
Дата 11.2.2008, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Помогите запустить пример
Код

import java.sql.*;
public class JDBCTest1
{
    public static void main(String[] args)
    {
        String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
        String url = "jdbc:odbc:MyExcel";
        String fName;
        int fId;
        Object fSalary;
        Connection con;
        Statement st;
        ResultSet rs;
        try
        {
            Class.forName(driver);
        }
        catch(ClassNotFoundException cnfe)
        {   
            System.err.println("Cant find JDBC driver");
            cnfe.PrintStackTrace();
            System.exit(1);
        }
        try
        {
            con=DriverManager.getConnection(url, null, null);
        }
        catch(SQLException se)
        {
            System.err.println("DB connection error");
            se.PrintStackTrace();
            System.exit(1);
        }
        try
        {
            st = con.createStatement();
            ResultSet rs = st.executeQuery("select id, name, salary from $Sheet1");
            while (rs.next())
            {
                fId = rs.getInt("id");
                fName = rs.getString(2);
                fSalary = rs.getObject(3);
                System.out.println("id=" + id + ", name=" + name+", salary="+fSalary.toString());
            }
        }
        catch(SQLException se)
        {
            System.err.println("JDBC execution error");
            se.PrintStackTrace();
            System.exit(1);
        }
        try
        {
            con.close();
        }
        catch(SQLException se)
        {
            System.err.println("Connection close error");
            se.PrintStackTrace();
            System.exit(1);
        }
    }
}
C:\Program Files\Java\jdk1.6.0_03\bin>javac JDBCTest1.java
JDBCTest1.java:30: cannot find symbol
symbol  : method PrintStackTrace()
location: class java.lang.ClassNotFoundException
            cnfe.PrintStackTrace();
                ^
JDBCTest1.java:40: cannot find symbol
symbol  : method PrintStackTrace()
location: class java.sql.SQLException
            se.PrintStackTrace();
              ^
JDBCTest1.java:46: rs is already defined in main(java.lang.String[])
            ResultSet rs = st.executeQuery("select id, name, salary from $Sheet1");
                      ^
JDBCTest1.java:52: cannot find symbol
symbol  : variable id
location: class JDBCTest1
                System.out.println("id=" + id + ", name=" + name+", salary="+fSalary.toString());
                                           ^
JDBCTest1.java:52: cannot find symbol
symbol  : variable name
location: class JDBCTest1
                System.out.println("id=" + id + ", name=" + name+", salary="+fSalary.toString());
                                                            ^
JDBCTest1.java:58: cannot find symbol
symbol  : method PrintStackTrace()
location: class java.sql.SQLException
            se.PrintStackTrace();
              ^
JDBCTest1.java:68: cannot find symbol
symbol  : method PrintStackTrace()
location: class java.sql.SQLException
            se.PrintStackTrace();
              ^
7 errors

PM MAIL   Вверх
Maksym
Дата 11.2.2008, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 14
Всего: 62



se.PrintStackTrace() в неверном регистре (буква p маленькая) -- java регистрозависима.
System.out.println("id=" + id + ", name=" + name+", salary="+fSalary.toString()) -- компилятор четко говорит, что name и id неизвестны в текущем контексте.. чтобы использовать переменные их нужно для начала определить.

Это сообщение отредактировал(а) Maksym - 11.2.2008, 11:50
PM MAIL   Вверх
Kangaroo
Дата 11.2.2008, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 21
Всего: 104



Цитата(Snik @  11.2.2008,  10:44 Найти цитируемый пост)
JDBCTest1.java:30: cannot find symbol
symbol  : method PrintStackTrace()

есть метод printStackTrace, а не PrintStackTrace


Цитата(Snik @  11.2.2008,  10:44 Найти цитируемый пост)
JDBCTest1.java:46: rs is already defined in main(java.lang.String[])
            ResultSet rs = st.executeQuery("select id, name, salary from $Sheet1");

Переменная rs уже объявлена, тут уже надо писать без ResultSet.


Цитата(Snik @  11.2.2008,  10:44 Найти цитируемый пост)
JDBCTest1.java:52: cannot find symbol
symbol  : variable id

Нет такой переменной, переименуй ее или создай с таким названием

Цитата(Snik @  11.2.2008,  10:44 Найти цитируемый пост)
JDBCTest1.java:52: cannot find symbol
symbol  : variable name

тоже самое


--------------------
Lost....
PM MAIL MSN   Вверх
Snik
Дата 11.2.2008, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Вроде все поправил а оно все равно ругается 

Код

import java.sql.*;

public class JDBCTest1
{
    public static void main(String[] args)
    {
        String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
        String url = "jdbc:odbc:MyExcel";
        String fName;
        int fId;
        Object fSalary;
        Connection con;
        Statement st;
        ResultSet rs;
        try
        {
            Class.forName(driver);
        }
        catch(ClassNotFoundException cnfe)
        {   
            System.err.println("Cant find JDBC driver");
            cnfe.printStackTrace();
            System.exit(1);
        }
        try
        {
            con=DriverManager.getConnection(url, null, null);
        }
        catch(SQLException se)
        {
            System.err.println("DB connection error");
            se.printStackTrace();
            System.exit(1);
        }
        try
        {
            st = con.createStatement();
            //ResultSet 
        ResultSet rs = st.executeQuery("select id, name, salary from $Sheet1");
            while (rs.next())
            {
                fId = rs.getInt("id");
                fName = rs.getString(2);
                fSalary = rs.getObject(3);
                System.out.println("id= " + fId + ", name= " + fName+", salary="+fSalary.toString());
            }
        }
        catch(SQLException se)
        {
            System.err.println("JDBC execution error");
            se.printStackTrace();
            System.exit(1);
        }
        try
        {
            con.close();
        }
        catch(SQLException se)
        {
            System.err.println("Connection close error");
            se.printStackTrace();
            System.exit(1);
        }
    }
}

C:\Program Files\Java\jdk1.6.0_03\bin>javac JDBCTest1.java
JDBCTest1.java:39: rs is already defined in main(java.lang.String[])
            ResultSet rs = st.executeQuery("select id, name, salary from $Sheet1");
                      ^
1 error


Добавлено через 3 минуты и 20 секунд
Цитата(Kangaroo @ 11.2.2008,  11:51)

Переменная rs уже объявлена, тут уже надо писать без ResultSet.


тогда ругается 
Код

C:\Program Files\Java\jdk1.6.0_03\bin>javac JDBCTest1.java
JDBCTest1.java:37: variable con might not have been initialized
            st = con.createStatement();
                 ^
JDBCTest1.java:56: variable con might not have been initialized
            con.close();
            ^
2 errors


PM MAIL   Вверх
Kangaroo
Дата 11.2.2008, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 21
Всего: 104



Цитата(Kangaroo @  11.2.2008,  10:51 Найти цитируемый пост)
Переменная rs уже объявлена, тут уже надо писать без ResultSet.

Поэтому напиши вместо
Код

ResultSet rs = st.executeQuery("select id, name, salary from $Sheet1");

это
Код

rs = st.executeQuery("select id, name, salary from $Sheet1");



--------------------
Lost....
PM MAIL MSN   Вверх
Snik
Дата 11.2.2008, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Еще разочек прощу взглянуть полный код
Код

import java.sql.*;

public class JDBCTest1
{
    public static void main(String[] args)
    {
        String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
        String url = "jdbc:odbc:MyExcel";
        String fName;
        int fId;
        Object fSalary;
        Connection con1;
        Statement st;
        ResultSet rs;
        try
        {
            Class.forName(driver);
        }
        catch(ClassNotFoundException cnfe)
        {   
            System.err.println("Cant find JDBC driver");
            cnfe.printStackTrace();
            System.exit(1);
        }
        try
        {
            con1 = DriverManager.getConnection(url, null, null);
        }
        catch(SQLException se)
        {
            System.err.println("DB connection error");
            se.printStackTrace();
            System.exit(1);
        }
        try
        {
            st = con1.createStatement();
            //ResultSet 
        rs = st.executeQuery("select id, name, salary from $Sheet1");
            while (rs.next())
            {
                fId = rs.getInt("id");
                fName = rs.getString(2);
                fSalary = rs.getObject(3);
                System.out.println("id= " + fId + ", name= " + fName+", salary="+fSalary.toString());
            }
        }
        catch(SQLException se)
        {
            System.err.println("JDBC execution error");
            se.printStackTrace();
            System.exit(1);
        }
        try
        {
            con1.close();
        }
        catch(SQLException se)
        {
            System.err.println("Connection close error");
            se.printStackTrace();
            System.exit(1);
        }
    }
}

C:\Program Files\Java\jdk1.6.0_03\bin>javac JDBCTest1.java
JDBCTest1.java:37: variable con1 might not have been initialized
            st = con1.createStatement();
                 ^
JDBCTest1.java:56: variable con1 might not have been initialized
            con1.close();
            ^
2 errors



PM MAIL   Вверх
Maksym
Дата 11.2.2008, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 14
Всего: 62



Snik
Connection con1 = null;
Попробуй начать с более простых примеров
PM MAIL   Вверх
Snik
Дата 11.2.2008, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Скомпилировалась но при запуске ругается странно
что это значит ?
Код

C:\Program Files\Java\jdk1.6.0_03\bin>java JDBCTest1
JDBC execution error
java.sql.SQLException: [Microsoft][─ЁрщтхЁ ODBC Excel] ╬Їшсър ёшэҐръёшёр т яЁхфыюцхэшш FROM.
        at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
        at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
        at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
        at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
        at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
        at JDBCTest1.main(JDBCTest1.java:39)


PM MAIL   Вверх
Snik
Дата 11.2.2008, 15:36 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



╬Їшсър ёшэҐръёшёр т яЁхфыюцхэшш FROM. = Ошибка синтаксиса в предложении FROM.
PM MAIL   Вверх
oFF_rus
Дата 11.2.2008, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 25.1.2008

Репутация: нет
Всего: 1



Не понимаю, какие предрассудки мешают Вам воспользоваться Google:
http://www.google.ru/search?complete=1&amp...mp;lr=&aq=f

на первой же странице результатов такая ссылка:
http://www.javaportal.ru/java/examples/Emp...ReaderExel.html

где можно увидеть, что запрос к листу Excel пишется так:

Код

select lastname, firstname, id from [Sheet1$]


(думаю, что здесь важны квадратные скобки).
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1013 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.