Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите написать метод - выборка из БД / 21 сообщений из 21, страница 1 из 1
19.01.2007, 10:16:22
    #34267148
jsfmania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
Доброго времени суток, господа!

Помогите написать метод, который бы из БД выбирал все значения определнного столбца (company name), определенной таблицы (customers). Результат выборки наверно будет массив (Array) или список (List) - вот тоже посоветуйте плиз!

Заранее спасибо!
...
Рейтинг: 0 / 0
19.01.2007, 10:44:56
    #34267258
vasek_ua
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
http://]http://www.sql.ru/forum/actualthread.aspx?tid=318427&hl=jscrollpane+%ee%f2%ee%e1%f0%e0%e6%e5%ed%e8%ff+%e7%e0%e3%ee%eb%ee%e2%ea%e0+%f1%ea%f0%ee%eb%eb%e8%ed%e3%e0+%f2%e0%e1%eb%e8%f6%fb
...
Рейтинг: 0 / 0
19.01.2007, 11:26:46
    #34267424
jsfmania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
Спасибо за линк! А проще это нельзя реализовать уж больно навороченнно мне кажется.
...
Рейтинг: 0 / 0
19.01.2007, 18:32:34
    #34269191
Dremmmm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
куда еще проще
import java.sql.*;
import java.math.*;
import java.io.*;
import java.awt.*;

class JdbcTest {
public static void main (String args []) throws SQLException {
// Load Oracle driver
DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
// Connect to the local database
Connection conn = DriverManager.getConnection
("jdbc:oracle:thin:@myhost:1521:ORCL","scott", "tiger");

// Query the employee names
Statement stmt = conn.createStatement ();
ResultSet rset = stmt.executeQuery ("SELECT ename FROM emp");
// Print the name out
while (rset.next ())
System.out.println (rset.getString (1));

//close the result set, statement, and the connection
rset.close();
stmt.close();
conn.close();
}
}
...
Рейтинг: 0 / 0
23.01.2007, 16:24:12
    #34275960
jsfmania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
Согласен, что проще не куда, че то я тормознул, но это еще не все. Хорошо, данный метод, допустим мне вернул из БД customerCrosaxEastcarLoomerc

все значения столбика customer - три записи - "Crosax", "Eastcar", "Loomerc". После этого мне надо чтобы на jsp (JSF) они отобразились как SelectItem - падающим меню, т.е. :
...
Рейтинг: 0 / 0
23.01.2007, 16:40:27
    #34276035
jsfmania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
извините за необработанную картинку - не специально, спешка, млин!

вот метод из бина PurBean.java, который извлекает из БД значения столбца

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  public  Result getAll()  throws  SQLException, NamingException {
      try {
	open();
	Statement stmt = conn.createStatement();
	ResultSet result = stmt.executeQuery("SELECT cust_name FROM customer");
	 return  ResultSupport.toResult(result);
	    } finally {
	      close();
	    	}
	    }
 

вот jsp (jsf) в которой отображается:

<h:dataTable value="#{PurBean.all}" var="PurBean">
<h:column>
<h:selectOneMenu>
<f:selectItem itemLabel="#{PurBean.cust_name}" itemValue="#{PurBean.cust_name}"/>
</h:selectOneMenu>
</h:column>
</h:dataTable>

Как мне итерацию провести, потому что вот что получается:
...
Рейтинг: 0 / 0
23.01.2007, 16:41:45
    #34276042
jsfmania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
...
Рейтинг: 0 / 0
23.01.2007, 16:43:58
    #34276058
jsfmania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
А как сделать, чтобы было вот так:
...
Рейтинг: 0 / 0
24.01.2007, 14:08:59
    #34278750
Мимо проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
наверно result надо как-то в Array преобразовать
...
Рейтинг: 0 / 0
25.01.2007, 11:11:47
    #34281139
Мимо проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
Надо ждать мнений Гуру!
...
Рейтинг: 0 / 0
26.01.2007, 11:02:40
    #34284411
jsfmania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
Народ! помогите тупому новичку:

как мне ResultSupport.toResult(result) преобразовать в SelectItem? или ListArray !
...
Рейтинг: 0 / 0
26.01.2007, 12:25:22
    #34284863
Michael Ponomarev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
заполнение
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
......
    ArrayList<SelectItem> arrayList =  new  ArrayList<SelectItem>();
    textSQL = "select 1, 'value_for_1' from dual union select 2, 'value_for_2' from dual";
    ps = connection.prepareStatement(textSQL);
    rs = ps.executeQuery();
     while  (rs.next()) {
        arrayList.add( new  SelectItem(rs.getString( 1 ), rs.getString( 2 )));
    }
    rs.close();
    ps.close();
......
ArrayList в массив SelectItem[]
Код: plaintext
1.
2.
3.
4.
5.
     public  SelectItem[] arrayListToSelectItem(ArrayList<SelectItem> arrayList) {
        SelectItem[] result =  new  SelectItem[arrayList.size()];
        arrayList.toArray(result);
         return  result;
    }
...
Рейтинг: 0 / 0
26.01.2007, 15:26:39
    #34285725
jsfmania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
Огромное спасибо, Михаил!

а в страничке jsp (JSF) у Вас так?

<h:column>
<h:selectOneMenu>
<f:selectItem itemLabel="#{PBean.result}" itemValue="#{PBean.result}"/>
</h:selectOneMenu>
</h:column>
...
Рейтинг: 0 / 0
26.01.2007, 15:49:39
    #34285828
Michael Ponomarev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
например так:
Код: plaintext
1.
2.
3.
     public  SelectItem[] getValues() {
         return  arrayListToSelectItem(arrayList);
    }

Код: plaintext
1.
2.
3.
    <h:selectOneMenu id="select" value="#{value}">
        <f:selectItems id="selectItems" value="#{values}"/>
    </h:selectOneMenu>
...
Рейтинг: 0 / 0
26.01.2007, 16:51:27
    #34286168
Мимо проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
раз етсь геттер, значит дожлен быть и сеттер

Код: plaintext
1.
2.
3.
   public   void  setValues(SelectItem[] value){
	arrayListToSelectItem() = value;
	 } 
  
...
Рейтинг: 0 / 0
26.01.2007, 16:55:01
    #34286188
Michael Ponomarev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
мимо проходящийраз етсь геттер, значит дожлен быть и сеттер

Код: plaintext
1.
2.
3.
   public   void  setValues(SelectItem[] value){
	arrayListToSelectItem() = value;
	 } 
  


не понял, а зачем?
...
Рейтинг: 0 / 0
26.01.2007, 17:03:12
    #34286222
jsfmania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
перед геттером не помешает
Код: plaintext
ArrayList arrayList;
, а то у меня Еклипс подсвечивает arrayList cannot be resolved
...
Рейтинг: 0 / 0
26.01.2007, 17:22:42
    #34286301
jsfmania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
Михаил, спасибо, что Вы откликнулись на мою проблему - но вот че то я не догоняю кое чего. Ясно, что метод
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
......
    ArrayList<SelectItem> arrayList =  new  ArrayList<SelectItem>();
    textSQL = "SELECT name_sup FROM supplier";
    ps = connection.prepareStatement(textSQL);
    rs = ps.executeQuery();
     while  (rs.next()) {
        arrayList.add( new  SelectItem(rs.getString( 1 )));
    }
    rs.close();
    ps.close();
......
просто вытаскивает из таблицы supplier все значения столбика name_sup, помещает их в переменную arrayList (тип переменной - ArrayList<SelectItem>). Далее :
Код: plaintext
1.
2.
3.
4.
5.
  public  SelectItem[] arrayListToSelectItem(ArrayList<SelectItem> arrayList) 
 {
	        SelectItem[] result =  new  SelectItem[arrayList.size()];
	        arrayList.toArray(result);
	         return  result;
	    }
этот метод преобразует переменную arrayList в переменную result (переменная типа - SelectItem[]). А вот зачем этот метод:
Код: plaintext
1.
2.
3.
  public  SelectItem[] getValues() {
	         return  arrayListToSelectItem(arrayList);
	    }
- не понимаю - хоть убейте!
...
Рейтинг: 0 / 0
26.01.2007, 17:31:33
    #34286335
Michael Ponomarev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
просто у меня arrayList (естественноо название переменной другое) есть поле класса. И данные хранятся в нем в течении всей жизни сессии.

<h:selectOneMenu id="select" value="#{value}">
<f:selectItems id="selectItems" value="#{values}"/>
</h:selectOneMenu>
[/src]ключевое момент: <f:selectItems id="selectItems" value="#{values}" />
потому и метод
[SRC java]
public SelectItem[] getValues() {
return arrayListToSelectItem(arrayList);
}
[SRC java]
...
Рейтинг: 0 / 0
27.10.2007, 19:31:52
    #34899332
JSF Developer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
Что не так не пойму

страничка test1.jsp:
Код: 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.
<html>

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

<f:view>
   <head>
   <link href="styles.css" rel="stylesheet" type="text/css"/>
     <title>
       
     </title>   
    </head>
   <body>
     <h:form >
  
        <h:selectOneMenu id="select" value="et" >
            <f:selectItems value="#{test1.values}"/>
        </h:selectOneMenu>
   
                                                    
     </h:form>
   </body>
</f:view>
</html>
Бин Test1.java

Код: 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.
 public   class  Test1  extends  FacesBean {
	
	ArrayList arrayList =  new  ArrayList();
	
	   public  SelectItem[] getValues() {
	         return  arrayListToSelectItem(arrayList);
	    }
			
	   public  SelectItem[] arrayListToSelectItem(ArrayList arrayList) 
	  {
	 	        SelectItem[] result =  new  SelectItem[arrayList.size()];
	 	        arrayList.toArray(result);
	 	         return  result;
	 	    }
	

	 private  Connection conn;
	    
	     public   void  open()  throws  SQLException, NamingException{
	    	
	    	 if  (conn !=  null )  return ;
	    	Context ctx =  new  InitialContext();
	    	DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mydb");
	    	conn = ds.getConnection();
	     }             
	
	
	
		 public  ArrayList getNames()  throws  SQLException, NamingException {
		
		ArrayList arrayList =  new  ArrayList();
		String SQL_query = "SELECT NAME FROM MYDB.DEPARTMENT";	
		
		 try {
	    	  open();
	    	  
	    	  Statement stmt = conn.createStatement();
	    	  ResultSet result = stmt.executeQuery(SQL_query);
	    	  
	    	  
	    	   while  (result.next()) {
	    	        arrayList.add( new  SelectItem(result.getString( 1 )));
	    	    }	    		    	 
	    	  
	    	  
	    	   return  arrayList;
	    	
		} finally {
	    		close();
	    	}
	}
	    
	   
	     public   void  close()  throws  SQLException {
	    	 if  (conn ==  null )  return ;
	    	conn.close();
	    	conn =  null ;
	    
	    }
	    
}


конфиг faces-config.xml:
Код: plaintext
1.
2.
3.
4.
5.
 <managed-bean>
		<managed-bean-name>test1</managed-bean-name>
		<managed-bean-class>com.va.epms.dept.Test1</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
 </managed-bean>
В итоге появляется пустой selectOneMenu, запрос SELECT NAME FROM DEPARTMENT в SQL Plus отрабатывает нормально, выдает 7 значений. Не могу понять, что у меня не так. Подскажите плиз!
...
Рейтинг: 0 / 0
29.10.2007, 11:34:55
    #34900897
jsfmania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать метод - выборка из БД
тоже буду благодарен тому кто подскажет как это решить )))
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите написать метод - выборка из БД / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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