powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите написать метод - выборка из БД
21 сообщений из 21, страница 1 из 1
Помогите написать метод - выборка из БД
    #34267148
jsfmania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток, господа!

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

Заранее спасибо!
...
Рейтинг: 0 / 0
Помогите написать метод - выборка из БД
    #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
Помогите написать метод - выборка из БД
    #34267424
jsfmania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за линк! А проще это нельзя реализовать уж больно навороченнно мне кажется.
...
Рейтинг: 0 / 0
Помогите написать метод - выборка из БД
    #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
Помогите написать метод - выборка из БД
    #34275960
jsfmania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Согласен, что проще не куда, че то я тормознул, но это еще не все. Хорошо, данный метод, допустим мне вернул из БД customerCrosaxEastcarLoomerc

все значения столбика customer - три записи - "Crosax", "Eastcar", "Loomerc". После этого мне надо чтобы на jsp (JSF) они отобразились как SelectItem - падающим меню, т.е. :
...
Рейтинг: 0 / 0
Помогите написать метод - выборка из БД
    #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
Помогите написать метод - выборка из БД
    #34276042
jsfmania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Помогите написать метод - выборка из БД
    #34276058
jsfmania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как сделать, чтобы было вот так:
...
Рейтинг: 0 / 0
Помогите написать метод - выборка из БД
    #34278750
Мимо проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверно result надо как-то в Array преобразовать
...
Рейтинг: 0 / 0
Помогите написать метод - выборка из БД
    #34281139
Мимо проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо ждать мнений Гуру!
...
Рейтинг: 0 / 0
Помогите написать метод - выборка из БД
    #34284411
jsfmania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ! помогите тупому новичку:

как мне ResultSupport.toResult(result) преобразовать в SelectItem? или ListArray !
...
Рейтинг: 0 / 0
Помогите написать метод - выборка из БД
    #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
Помогите написать метод - выборка из БД
    #34285725
jsfmania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо, Михаил!

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

<h:column>
<h:selectOneMenu>
<f:selectItem itemLabel="#{PBean.result}" itemValue="#{PBean.result}"/>
</h:selectOneMenu>
</h:column>
...
Рейтинг: 0 / 0
Помогите написать метод - выборка из БД
    #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
Помогите написать метод - выборка из БД
    #34286168
Мимо проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
раз етсь геттер, значит дожлен быть и сеттер

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

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


не понял, а зачем?
...
Рейтинг: 0 / 0
Помогите написать метод - выборка из БД
    #34286222
jsfmania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
перед геттером не помешает
Код: plaintext
ArrayList arrayList;
, а то у меня Еклипс подсвечивает arrayList cannot be resolved
...
Рейтинг: 0 / 0
Помогите написать метод - выборка из БД
    #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
Помогите написать метод - выборка из БД
    #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
Помогите написать метод - выборка из БД
    #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
Помогите написать метод - выборка из БД
    #34900897
jsfmania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тоже буду благодарен тому кто подскажет как это решить )))
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите написать метод - выборка из БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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