forum.bitel.ru
http://forum.bitel.ru/

[6.0] ContractParameterManager
http://forum.bitel.ru/viewtopic.php?f=22&t=8489
Страница 1 из 1

Автор:  Phricker [ 25 сен 2013, 16:13 ]
Заголовок сообщения:  [6.0] ContractParameterManager

Скуб попросил проверить :)

Код:
public String getListParamValue(int cid, int pid)
  {
    String result = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    try
    {
      StringBuilder query = new StringBuilder(100);
      query.append("SELECT cp.pid, if(cp.val<1,cp.custom_value,vls.title) FROM ");
      query.append("contract_parameter_type_7");
      query.append(" as cp LEFT JOIN ");
      query.append("contract_parameter_type_7");
      query.append("_values as vls ON vls.id=cp.val WHERE cid=? AND cp.pid=?");
      ps = this.con.prepareStatement(query.toString());
      ps.setInt(1, cid);
      ps.setInt(2, pid);
      rs = ps.executeQuery();
      if (rs.next())
      {
        result = rs.getString(1);
      }
      rs.close();
      ps.close();
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
    return result;
  }


Чувствую одним местом, что вот тут вот
Код:
if (rs.next())
      {
        result = rs.getString(1);
      }

должно быть rs.getString(2);

В противном случае возвращается ID параметра.

Автор:  dimOn [ 25 сен 2013, 16:17 ]
Заголовок сообщения:  Re: [6.0] ContractParameterManager

ну разумеется. нумерация с 1 подряд как в запросе.

Автор:  Phricker [ 25 сен 2013, 16:18 ]
Заголовок сообщения:  Re: [6.0] ContractParameterManager

dimOn писал(а):
ну разумеется. нумерация с 1 подряд как в запросе.

Изображение

Возвращается просто ID спискового параметра, а не его значение :)

Автор:  dimOn [ 25 сен 2013, 17:04 ]
Заголовок сообщения:  Re: [6.0] ContractParameterManager

Цитата:
Возвращается просто ID спискового параметра, а не его значение :)


Изображение

Что запрашивается,
Код:
cp.pid

то и возвращается

Автор:  skyb [ 25 сен 2013, 17:12 ]
Заголовок сообщения:  Re: [6.0] ContractParameterManager

dimOn писал(а):
Цитата:
Возвращается просто ID спискового параметра, а не его значение :)


Изображение

Что запрашивается,
Код:
cp.pid

то и возвращается

ээээээээ, я непонял, чего запрашивается
Изображение
Зачем возвращать то, что передаешь?
Код:
public String getListParamValue(int cid, [b]int pid[/b])

?????и почему return String а возвращается int

Автор:  Phricker [ 25 сен 2013, 17:19 ]
Заголовок сообщения:  Re: [6.0] ContractParameterManager

Есть параметр договора типа список с ID = 1
В нем два значения списка:
blablabla с ID = 1
и
tryamtryamtryam с ID = 2
Есть договор с ID = 1 в котором в этом параметр заполнен как tryamtryamtryam


Если я напишу следующее

Код:
int cid = 1;
int paramId = 1;
Connection con  = connectionSet.getConnection();
ContractParameterManager cpm = new ContractParameterManager( con );
String val = cpm.getListParamValue(cid, managerPid);

То в val будет не tryamtryamtryam как я ожидаю, а 1. И эта единица означает ID того параметра к которому я обращаюсь.

Автор:  dimOn [ 25 сен 2013, 18:58 ]
Заголовок сообщения:  Re: [6.0] ContractParameterManager

А, так это типа код из биллинга? :facepalm: Я думал вопрос что надо - 1 или 2. Тогда простите, у меня бредъ T=45.8° я болен на больничном :umnik:

Автор:  Phricker [ 25 сен 2013, 19:10 ]
Заголовок сообщения:  Re: [6.0] ContractParameterManager

Дожили свой же код не узнаем :D
P.S. нефиг было прививки делать :lol:

Автор:  skn [ 25 сен 2013, 19:12 ]
Заголовок сообщения:  Re: [6.0] ContractParameterManager

fixed

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/