Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lotus Notes/Domino: Программирование
Войти
Регистрация
Восстановить пароль
 
 
ottyx
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
#1

Пытаюсь разобраться... - Lotus

16.03.2009, 10:49. Просмотров 35077. Ответов 59
Метки нет (Все метки)

Insert into переменную?
есть код

Код
stmt = connection.createStatement();
rs = stmt.executeQuery("SELECT * from biznes");

System.out.println("---------------Вывод результата 1:---------------");
while(rs.next())
{
int theid= rs.getInt("id");
String str = rs.getString("name");
System.out.println("id= " + theid + " ---> name = " + str);
System.out.println("_________________________________");
}

stmt.executeUpdate("INSERT INTO biznes (name) values (Русский-Englysh)", Statement.RETURN_GENERATED_KEYS);
stmt.executeUpdate("INSERT INTO biznes (name) values (переменная А)", Statement.RETURN_GENERATED_KEYS);
Вставка значений Русский-Englysh проходит изюмительно, а как суда вставить переменную [String a = doc.getItemValueString("name");], получаемую перебрром из notes - документа
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2009, 10:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Пытаюсь разобраться... (Lotus):

Помогите разобраться
Как можно скрыть одну из кнопок находящихся на одной строчке, скрятие...

помогите разобраться
вот такая проблема: написал сайт под лотусом 6.5. как мне защитить базу чтоб...

Помоите разобраться
Подскажите пожайлуста как сделать чтобы через веб открывалось слева навигатор а...

Помогите разобраться в коде
Всем добрый день! Написала код для передачи данных из полей одного документа в...

Помогите разобраться с ошибкой!
Всем доброго времени суток. Помогите разобраться, по какой причине возникает...

Помогите разобраться с Subformой
Здравствуйте ! У меня почему то не работает subformа или RBatton! Проблема...

59
tmyky
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
11.10.2010, 16:01 #41
Цитата Сообщение от allex
Спасиюо за совет
Это использовалось как статическая переменная для тестирования
я не издеваюсь - просто трейс говорит об ошибке синтаксиса в этом месте
0
mvyush
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
11.10.2010, 16:02 #42
String Query = "SELECT * FROM pr_data WHILE auth=" + "+ id +";
Мои скудные познания SQL подсказывают, что должно быть что-то типа

Код
String Query = "SELECT * FROM pr_data WHERE auth = " + id + "";
0
ottyx
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
11.10.2010, 16:21 #43
Это WHERE auth = уже исправлено.
Просто сказывается долгое не общение с реляцмонкой и сооств. синтаксис малость подзабылся
0
VtodSh
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
11.10.2010, 17:05 #44
Цитата Сообщение от nvy
Как раз нет, внимательно перечитайте посты выше.
Ок. Если , то зачем тогда такая куча постов, которые ещё больше запутывают? Я даже и мысли такой не имел - передавать Notes-объекты в Java-код; ( я имел в виду).
0
tmyky
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
11.10.2010, 17:18 #45
это всё к тому, что есть варианты взаимодействия, и необязательно агент д.б. на java...
можно спокойно выдавать резалтсет в массив/ы из стрингов, при том, используя LS2J рапер, для общения с БД
0
mvyush
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
11.10.2010, 17:23 #46
Цитата Сообщение от VladSh
Ок. Если всё так просто, то зачем тогда такая куча постов, которые ещё больше запутывают? Я даже и мысли такой не имел - передавать Notes-объекты в Java-код; (что я имел в виду).
Внимательно прочитайте пост #7 (с раскрытием спойлеров), а также посты #9, #11 и #12. Мне тоже не понятно, к чему такая дискуссия образовалась.

allex получилось?
0
VtodSh
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
11.10.2010, 18:23 #47
Цитата Сообщение от nvy
Мне тоже не понятно, к чему такая дискуссия образовалась.
Потому, что Database в вопросе из моего 11-го поста была интерпретирована как NotesDatabase. Внимательное изучение каких-либо дополнительных постов не требуется.


Добавлено:


Цитата Сообщение от lmike
можно спокойно выдавать резалтсет в массив/ы из стрингов, при том, используя LS2J рапер, для общения с БД
это само собой, известно и естественно



Цитата Сообщение от lmike
это всё к тому, что есть варианты взаимодействия, и необязательно агент д.б. на java...
и это как-то меняет дело? ;)
0
tmyky
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
11.10.2010, 20:15 #48
Цитата Сообщение от VladSh
и это как-то меняет дело?
угу - библиотека не будет включать "мертвый код" с т.з. бриджа, т.е. должна быть обеспечена "бОльшая" модульность, при проектировании либ :lovecodeby:
0
VtodSh
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
11.10.2010, 20:38 #49
про LS - да, против фактов не попрёшь... :ithx: а про то, чтобы полностью заменить UI лотусни явой - "надо ждать" © :lovecodeby: И будет ли это иметь значение, если XPages-UI поднимут до нормального уровня?..
0
ottyx
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
12.10.2010, 08:13 #50
Цитата Сообщение от nvy
allex получилось?
Да получилось

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Java class по работе Notes&SQL </div></div><div class="sp-body"><div class="sp-content">

Код
import lotus.domino.*;
import java.util.Vector;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import java.net.*;
import java.io.*;
import java.util.*;

public class JavaAgent extends AgentBase {

public static java.util.Hashtable parseQueryString(String queryString) {
StringTokenizer tokens = new StringTokenizer(queryString, "&");
Hashtable params = new Hashtable();
while (tokens.hasMoreTokens()){
String token = tokens.nextToken();
int equalIdx = token.indexOf(=);
if (equalIdx != -1 && !token.equalsIgnoreCase("OpenAgent")){
String name = token.substring(0, equalIdx);
System.out.println("name " + name);
String value = token.substring(equalIdx + 1);
System.out.println("value " + value);
params.put(name, value);
}
}
return params;
}
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
Document webdoc = agentContext.getDocumentContext();
PrintWriter pw = getAgentOutput();
String qs = webdoc.getItemValueString("Query_String");
java.util.Hashtable ht = parseQueryString(qs);
String id = (String) ht.get( "id" );
//          pw.println("ID : " + id);
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
//          System.out.println("сессии инициировались");
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Драйвер загружен");
}
catch (Exception ex)
{
System.out.println("SQLException: " + ex.getMessage());
}
try {
conn = DriverManager.getConnection("jdbc:mysql://conect);
System.out.println("Подключение установлено");
}
catch (SQLException ex)
{
System.out.println("On connect SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
try {
stmt = conn.createStatement();
//String id = "iiyHNNRiNi3sQ6eS";
System.out.println("id " + id);
String Query = "SELECT * FROM pr_data WHERE auth = " + "+id+ ";// + " ORDER BY id";
//String Query = "SELECT * FROM pr_data";
System.out.println("Запрос " + Query);

try {
rs = stmt.executeQuery(Query);
System.out.println("Запрос выполняется");
}
catch(SQLException ex)
{
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
Database db = agentContext.getCurrentDatabase();
Document doc = db.createDocument();
//Vector vauth = new Vector();      // не использовать, т.к. будет только один результат
//Vector vfio = new Vector();       // не использовать, т.к. будет только один результат
//Vector vaddress = new Vector();   // не использовать, т.к. будет только один результат
//Vector vemail = new Vector();     // не использовать, т.к. будет только один результат
//Vector vmessage = new Vector();   // не использовать, т.к. будет только один результат
while (rs.next()) {
int theid= rs.getInt("id");
String fname = rs.getString("fname");
String mname = rs.getString("mname");
String lname = rs.getString("lname");
String message = rs.getString("message");
String email = rs.getString("email");
String auth = rs.getString("auth");
String pindex = rs.getString("pindex");
String pregion = rs.getString("pregion");
String plocality = rs.getString("plocality");
String pstreet = rs.getString("pstreet");
String phome = rs.getString("phome");
String pcorps = rs.getString("pcorps");
String pflat = rs.getString("pflat");
System.out.println("Переменные присвоены");
System.out.println("auth_code= " + auth );
System.out.println("id= " + theid + " ---> ФИО = " + fname + " " + mname +" "+ lname);
System.out.println("id= " + theid + " ---> Почтовый адрес = " + pindex +" "+ pregion +" "+ plocality +" "+ pstreet +" "+ phome +" "+ pcorps +" "+ pflat);
System.out.println("id= " + theid + " ---> Электронныйый адрес = " + email);
System.out.println("id= " + theid + " ---> Текст обращения = " + message );
System.out.println("_________________________________");

//vauth.addElement(auth);
//vfio.addElement(fname + " " + mname +" "+ lname);
//vaddress.addElement(pindex +" "+ pregion +" "+ plocality +" "+ pstreet +" "+ phome +" "+ pcorps +" "+ pflat);
//vemail.addElement(email);
//vmessage.addElement(message);

doc.replaceItemValue("Form", "rlo");
doc.replaceItemValue("auth", id);
doc.replaceItemValue("FIO", fname + " " + mname +" "+ lname);
doc.replaceItemValue("Address", pindex +" "+ pregion +" "+ plocality +" ул."+ pstreet +" д."+ phome +" корп."+ pcorps +" кв."+ pflat);
doc.replaceItemValue("email", email);
doc.replaceItemValue("Annotation", message);
doc.computeWithForm(false, false);
doc.save();
}
} finally {
if (rs != null) {
try {
rs.close();
} catch(SQLException ex) {}
rs = null;
} //if
if (stmt != null) {
try {
stmt.close();
} catch(SQLException ex) {}
stmt = null;
} //if
} //finally


} catch(Exception e) {
e.printStackTrace();
}
}
}
0
morphyus
0 / 0 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
12.10.2010, 10:44 #51
allex


мне кажеться или у Вас док будет пересохраняться оди и тот же для всех записей в РекордСете?
0
tmyky
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
12.10.2010, 12:25 #52
и ещё...
если есть возможность не юзать ComputeWithForm - надо без него делать
0
ottyx
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
12.10.2010, 15:27 #53
мне кажеться или у Вас док будет пересохраняться оди и тот же для всех записей в РекордСете?

Запись будет только одна


если есть возможность не юзать ComputeWithForm - надо без него делать

На форме есть вычисляемые поля
0
ottyx
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
12.10.2010, 16:28 #54
А для случая с
jdbc:postgresql://localhost

проблемы с подключением были?

у меня с в случае локального (poistgre стоит на том же железе что и Домино) запуска конект к бд postgre не проходит
0
morphyus
0 / 0 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
12.10.2010, 16:31 #55
allex
может тогда 127.0.0.1

а железка на винде?
0
ottyx
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
12.10.2010, 16:53 #56
желеска IBM suse11.1 java 1.6 (самого домино)
пробовали
* 127,0,0,1
реальный IP
ДНС имя

все вышеперечисленное с указанием порта так и без него

postgresql-8.3 на железке

JDBC драйвер соответствено под java 1.6 (postgresql-8.3-606.jdbc3.jar)

(ксати и для MYSQL такая же песня)
0
tmyky
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
12.10.2010, 17:09 #57
надо смотреть apparmor (его ругань, а луча - вырубить) и файрвол
0
ottyx
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
12.10.2010, 17:15 #58
apparmor выключен
настройки доступа до pgsql даны и на внешние интерфейсы и на localhost

со своей машины тестирую все работает, а когда агента дергаю с браузера (локальный запуск) то выдает ошибку 99999
0
tmyky
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
12.10.2010, 19:04 #59
Цитата Сообщение от allex
а когда агента дергаю с браузера (локальный запуск)
а вот это поподробней
браузер, а вернее - код исполняемый на сервере, если я правильно понял термин, имеет ограничения по секьюрити jvm (в т.ч. по портам)
смотрите рестрикшены на агента и его подписавшего
0
ottyx
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
13.10.2010, 09:03 #60
Нашлось место приткновения...
в ходе эксперементов сбросились в дэфолт настройки безопастности запуска агента.

А я то был уверен что они остались прежние
0
13.10.2010, 09:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2010, 09:03
Привет! Вот еще темы с решениями:

Помогите Разобраться Начинающему.
Добрый день! Ситуация: Надо создать систему - вопрос/ответ ... С...

Помогите разобраться с Repeatform
Всем доброго времени суток. Уважаемые мастера подскажите следующий момент...

Помогите разобраться с проблемой....
Есть отчет на форме, по событию (по нажатию кнопки), по формуле (FIELD...

Помогите разобраться с конвертированием форматов
Народ, подскажите пожалуйста какой самый простой способ конвертировать базу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru