Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / По поводу класса String / 11 сообщений из 11, страница 1 из 1
08.12.2006, 10:15:17
    #34185275
ByM
ByM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По поводу класса String
Привет могоуважаемый All. Сразу прошу не сильно ругайте если чего не так скажу. Требуется сделать следующую фишку; - Программе на Java в виде параметра передается SQL запрос она его принимает, выполняет и результат загоняет в файл, проблема в том что немогу догнать как склеить параметры в методе main(String args[]) в одну строку?
У меня написанно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
	 public   static   void  main(String args[])  throws  SQLException {

		DriverManager.registerDriver( new  oracle.jdbc.driver.OracleDriver());
		Connection conn = DriverManager.getConnection (ПАРАМЕТРЫ);
		Statement stmt = conn.createStatement();
		
		 if  (args ==  null ) 
			System.out.println("Не задан SQL");
		 else  
		{
			String str =  new  String();
			 for  ( int  i= 0 ;i<args.length;i++) 
	                       str = str + args[i]; // ошибка  тут
		ResultSet rset = stmt.executeQuery(str); // и тут
		 while  (rset.next ())
		System.out.println (rset.getString( 1 )+"|"+rset.getString( 2 ));
		
	      rset.close();
	      stmt.close();
	      }
	      conn.close();
	}
Требуется чтобы я писал команду java getSQL SELECT * FROM Table и она возвращала результат
...
Рейтинг: 0 / 0
08.12.2006, 10:54:20
    #34185417
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По поводу класса String
По поводу этого кода.
Для начала запишем его почеловечески:

Код: 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.
     public   static   void  main(String args[])  throws  SQLException {
         if  (args ==  null  || args.length ==  0 ) {
            System.out.println("Не задан SQL");
        }  else  {
            executeQuery(concat(args));
        }
    }

     private   static  String concat(String[] strings) {
        StringBuilder str =  new  StringBuilder();
         for  (String string : strings) {
            str.append(string);
        }
         return  str.toString();
    }

     private   static   void  executeQuery(String sql)  throws  SQLException {
        DriverManager.registerDriver( new  oracle.jdbc.driver.OracleDriver());
        Connection conn = DriverManager.getConnection(ПАРАМЕТРЫ);
        Statement stmt = conn.createStatement();

        ResultSet rset = stmt.executeQuery(sql);
         while  (rset.next()) {
            System.out.println(rset.getString( 1 ) + "|" + rset.getString( 2 ));
        }

        rset.close();
        stmt.close();
        conn.close();
    }

А затем, ты покажешь нам стектрейс "ошибки",
потому что не может программа "не работать" в двух подряд идущих строчках.
...
Рейтинг: 0 / 0
08.12.2006, 10:59:12
    #34185434
smbdy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По поводу класса String
в строке "SELECT * FROM Table" - вместо "*" OC (винда наверное у тебя) подставит имена всех файлов в user.dir
...
Рейтинг: 0 / 0
08.12.2006, 11:09:45
    #34185490
ByM
ByM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По поводу класса String
Спасибо отличный пример как грамотно писать код на java. Еще один вопросик, только не пинайте сильно ногами я понимаю что этот вопрос звучит как-то по ламерски но я только учусь и нет нормальной книги.
Класс StringBuilder откуда надо импортировать?
...
Рейтинг: 0 / 0
08.12.2006, 11:11:50
    #34185498
ByM
ByM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По поводу класса String
smbdyв строке "SELECT * FROM Table" - вместо "*" OC (винда наверное у тебя) подставит имена всех файлов в user.dir
Я на линухе сижу уже 3-ий год, а запрос SELECT * FROM TABLE это для примера, на самом деле там будут другие запросы
...
Рейтинг: 0 / 0
08.12.2006, 11:19:33
    #34185535
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По поводу класса String
ByMStringBuilder?
Это класс из java 1.5.

Для java 1.4 его нужно заменить на StringBuffer и заменить короткую версию "for(:)" на полную "for(;;)".
...
Рейтинг: 0 / 0
08.12.2006, 11:25:54
    #34185577
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По поводу класса String
И если уж на то пошло, то лучше весь запрос передавать одним параметром (что-то вроде
proc "select * from", а не proc select * from).
А если передвать как несколько параметров, то нужно не просто их объединять, а добавлять разделители, иначе получится sql == "select*from".
...
Рейтинг: 0 / 0
08.12.2006, 11:33:49
    #34185616
ByM
ByM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По поводу класса String
NotGonnaGetUsИ если уж на то пошло, то лучше весь запрос передавать одним параметром (что-то вроде
proc "select * from", а не proc select * from).
А если передвать как несколько параметров, то нужно не просто их объединять, а добавлять разделители, иначе получится sql == "select*from".
Я просто не знал как передать одним параметром, Исправь меня если я тебя неправильно понял.
Т. е. если я дам команду
Код: plaintext
1.
 java -classpath . getQuery "select name, id, amount from docs where ismark =1"  
то в min(String args[]), его можно получить через String str = args[0];
...
Рейтинг: 0 / 0
08.12.2006, 11:50:33
    #34185705
vessi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По поводу класса String
именно. через String str = args[0];


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
08.12.2006, 11:54:54
    #34185724
smbdy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По поводу класса String
ByM[quot smbdy]Я на линухе сижу уже 3-ий год
я посмотрел твою профиль, 49% постов в разделе Delphi ... есть Delphi под линухом ? или через wine ? =))
...
Рейтинг: 0 / 0
08.12.2006, 12:16:36
    #34185758
ByM
ByM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По поводу класса String
Раньше был Kylix, он еще есть но сечас сижу на FreePascal а именно на Lazarus.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / По поводу класса String / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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