С Новым годом! Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/195: Рейтинг темы: голосов - 195, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560

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

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

Студворк — интернет-сервис помощи студентам
Insert into переменную?
есть код

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.03.2009, 10:49
Ответы с готовыми решениями:

Пытаюсь разобраться с Group by
Всем привет, я начинающий, пытаюсь разобраться с языком запросов SQL. Помогите разобраться с задачей? Задача: Есть таблица Product...

Пытаюсь разобраться с pdo
if(isset($_POST)) { if (isset($_POST) && isset($_POST)) { $stmt...

пытаюсь разобраться с SQL
Подскажите, какую-нибудь хорошую или отличную книгу по SQL!

59
0 / 0 / 0
Регистрация: 17.10.2007
Сообщений: 30
16.03.2009, 11:17
советую использовать http://commons.apache.org/dbutils/

если на чисто jdbc

то примерно так


Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
try {
ps = c.prepareStatement("INSERT INTO biznes (name) values (?)");
ps.setString(1, doc.getItemValueString("name"));
} catch (SQLException se) {
System.out.println("We got an exception while preparing a statement:" +
"Probably bad SQL.");
se.printStackTrace();
System.exit(1);
}
 
try {
ps.executeUpdate();
} catch (SQLException se) {
System.out.println("We got an exception while executing an update:" +
"possibly bad SQL, or check the connection.");
se.printStackTrace();
System.exit(1);
}
0
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
17.03.2009, 08:46
Есть вопрос по кодировке новой записи в MySQL

В параметрах подключения указано ?useUnicode=true&characterEncoding=utf8.

В результате получается что в консоли одно а браузер кажет совсем другое.
Apache, php и база MySQL настроены на работу с utf-8
0
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
10.10.2010, 17:00
Есть вот такой <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Код</div></div><div class="sp-body"><div class="sp-content">
<!--shcode--><pre><code class=java>public void dataconection(String id) {
Connection connection = null;
Driver d;
try {
d = (Driver)Class.forName("com.mysql.jdbc.Dr iver").newInstance();
connection = DriverManager.getConnection("jdbc:mysql://host:port/db,"login","pass");
System.out.println("Подключено");
Statement stmt = null;
ResultSet rs = null;
PreparedStatement ps = null;
stmt = connection.createStatement();

rs = stmt.executeQuery("SELECT * FROM pr_status, id=" + id);

System.out.println("---------------Вывод результата 1:---------------");
while(rs.next())
{
//получекние читабельного результата в консоль
}[/CODE]


Как это все превратить в функцию чтоб отдавать массив значений для последующей обработки
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
10.10.2010, 17:14
Использовать класс java.util.Vector или java.util.ArrayList (метод add(Object e)).

Code
1
2
3
4
5
6
7
8
9
public java.util.Vector dataconection(String id) {
java.util.Vector retVar;
//...
while(rs.next()) {
//получекние читабельного результата в консоль
retVar.add(/*что-то нужное */);
}
return retVar;
}
0
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
10.10.2010, 17:45
Или написать вспомогательный класс-обертку для вашего массива и возвращать его.
0
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 1,698
10.10.2010, 17:53
Цитата Сообщение от allex
Есть вот такой <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Код</div></div><div class="sp-body"><div class="sp-content">
<!--shcode--><pre><code class=java>public void dataconection(String id) {
Connection connection = null;
Driver d;
try {
d = (Driver)Class.forName("com.mysql.jdbc.Dr iver").newInstance();
connection = DriverManager.getConnection("jdbc:mysql://host:port/db,"login","pass");
System.out.println("Подключено");
Statement stmt = null;
ResultSet rs = null;
PreparedStatement ps = null;
stmt = connection.createStatement();

rs = stmt.executeQuery("SELECT * FROM pr_status, id=" + id);

System.out.println("---------------Вывод результата 1:---------------");
while(rs.next())
{
//получекние читабельного результата в консоль
}[/CODE]


Как это все превратить в функцию чтоб отдавать массив значений для последующей обработки
select именно такой как в примере?

Ну а вообще да.. все как перечислили выше... либо видоизменить SQL-запрос... немного его дописать
0
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
11.10.2010, 08:39
Да запрос именно такой.
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
11.10.2010, 10:32
allex


делал с использованием HashMap, удобно когда возвращаеться один row в recordSet

Code
1
2
3
4
5
6
7
8
9
10
11
12
import java.util.HashMap;
....
HashMap info = new HashMap(); // лист со значениями полей из запроса
...
 
while(rs.next())
{
for (int i = 1; i <= numberOfColumns; i++) {
sValue ="тут вот значение поля из запроса"
info.put( rsMetaData.getColumnName(i).toString(), sValue );
}
}
можно доделать чтобы возвращало не все колонки, а только какую-то одну для каждой строки в rs
0
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
11.10.2010, 11:54
Есть <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Код</div></div><div class="sp-body"><div class="sp-content">, который должен создать новый документ

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class workcard extends AgentBase {
 
public void createdoc(String fio,String addres, String email, String textobr){
try {
Session s = getSession();
AgentContext agentContext = s.getAgentContext();
Database db = agentContext.getCurrentDatabase();
Document doc = db.createDocument();
doc.replaceItemValue("Form", "rlo");
doc.replaceItemValue("FIO", fio);
doc.replaceItemValue("Address", addres);
doc.replaceItemValue("email", email);
doc.replaceItemValue("Annotation", textobr);
doc.computeWithForm(false, false);
if (doc.save())
System.out.println("Документ сохранен");
else
System.out.println("Документ не сохранен");
} catch(Exception e) {
e.printStackTrace();
}
}
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Дебагер</div></div><div class="sp-body"><div class="sp-content">
java.lang.NullPointerException
at workcard.createdoc(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.inv oke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.inv oke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.jav
a:37)
at java.lang.reflect.Method.invoke(Method.j ava:599)
at lotus.domino.JavaConnectInvoker.invoke(U nknown Source)
at sun.reflect.GeneratedMethodAccessor7.inv oke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.jav
a:37)
at java.lang.reflect.Method.invoke(Method.j ava:599)
at lotus.domino.JavaConnectLoader.invoke(Un known Source)


<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Вызов такой</div></div><div class="sp-body"><div class="sp-content">

LotusScript
1
2
3
4
5
6
7
8
Set jSession = New JavaSession
Set ipClass = jSession.GetClass("workcard")
Set con = ipClass.CreateObject()
If Not con Is Nothyng Then
call con.createdoc("zzzzzzzz","zzzzzzzzz", "zzzzzzzzzz", "zzzzzzzzzzz")
Else
Print "Какая то херь с созданием объекта"
End If
Что я не так делаю ?
"с явой дружу на ВЫ, изучаю по средствам написания"
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
11.10.2010, 12:03
allex
имхо, дело в том что или Сессия или база - null
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
11.10.2010, 12:05
ИМХО, AgentContext agentContext = s.getAgentContext(); работает только в агенте, т.е. в данной ситуации будет agentContext = null, соответственно на строке Database db = agentContext.getCurrentDatabase(); будет вылетать исключение java.lang.NullPointerException

Попробуйте получать базу по ReplicaID, т.е. добавьте в вызов функции строковый параметр с ReplicaID нужной базы
0
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
11.10.2010, 12:14
Так оно даже и не входит в процедуру
У меня это все с агента работает, а все процедуры дергаются из библиотеки
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
11.10.2010, 12:25
Цитата Сообщение от nvy
Попробуйте получать базу по ReplicaID, т.е. добавьте в вызов функции строковый параметр с ReplicaID нужной базы
А сразу переменную типа Database в функцию передавать нельзя?
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
11.10.2010, 12:29
Насколько я вижу, агент на LS и дергает библиотеку через LS2J. Напишите агента на яве. В функции библиотеки передавать базу в качестве параметра.

Добавлено:


Цитата Сообщение от VladSh
А сразу переменную типа Database в функцию передавать нельзя?
Честно говоря, не пробовал через LS2J передавать базу. ИМХО, LS NotesDatabase и java Database всё-таки разные типы.
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
11.10.2010, 13:20
никакие объекты нотусни не передаются/возвращаются через LS2J
и создать и юзать, "там", их тоже невозможно!
обмен тока скалярами и стрингами и их масивами (со стороны нотусни - тока фиксированные массивы)
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
11.10.2010, 13:59
nvy, lmike
Человек пишет:


Цитата Сообщение от allex
Так оно даже и не входит в процедуру
У меня это все с агента работает, а все процедуры дергаются из библиотеки
Я о том, что:
- сделать библиотеку на Java, в функцию которой передавать тип Database (Java-тип);
- сделать агент на Java, в котором получать Database по ReplicaiD и передавать её в подключаемую либу.

Если между модулями, написанными на Java, нельзя передавать объекты (в данном случае Database), то зачем тогда она вообще нужна? И смысл этих библиотек? Это что, в иерархии библиотек-классов придётся в каждой получать Database по ReplicaiD??
0
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
11.10.2010, 14:01
При запуске вот такого <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">кода</div></div><div class="sp-body"><div class="sp-content">


Code
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
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;
public class JavaAgent extends AgentBase {
public void main(String id) {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
}
catch (Exception ex)
{
System.out.println("SQLException: " + ex.getMessage());
}
 
try {
conn = DriverManager.getConnection("jdbc:mysql://host_port_db_login_passw);
}
catch (SQLException ex)
{
System.out.println("On connect SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
System.out.println("Соединение успешно");
try {
stmt = conn.createStatement();
id = "4isNNEkEA8kNhn9B";
String Query = "SELECT * FROM pr_data WHILE auth=" + "+ id +";
 
try {
rs = stmt.executeQuery(Query);
}
catch(SQLException ex)
{
System.out.println("on JOIN SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
Database db = agentContext.getCurrentDatabase();
Document doc = db.createDocument();
doc.appendItemValue("Form", "ProductReport");
Vector vauth = new Vector();
Vector vfio = new Vector();
Vector vaddress = new Vector();
Vector vemail = new Vector();
Vector vmessage = new Vector();
 
 
while (rs.next()) {
// retrieve and print the values for the current row
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.appendItemValue("FIO", vfio);
doc.appendItemValue("Address", vaddress);
doc.appendItemValue("email", vemail);
doc.appendItemValue("Annotation", vmessage);
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
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
11.10.2010, 14:23
allex
Что-то я не понял, зачем сначала присваивается
doc.appendItemValue("Form", "ProductReport");
а затем, ниже перебивается на
doc.replaceItemValue("Form", "rlo");
?


to All
По ходу.. Кто пользовал jdbc, подскажите, можно ли вытягивать данные из записи не по имени поля, а по порядковому номеру в таблице?
0
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
11.10.2010, 14:25
недоглядел...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.10.2010, 14:25
Помогаю со студенческими работами здесь

Пытаюсь разобраться с MVC
В общем чтобы разобраться с паттерном MVC пишу тестовый мини-фреймворк. Сделал простенький сайт. В общем всё стандартно там как в статьях в...

Пытаюсь разобраться с интерфейсами
Не въеду всё никак как работать с интерфейсами. Вот помогите пожалуйста на примере понять как это устроено. Для примера я взял армию. ...

Пытаюсь разобраться в задании
Помогите пожалуйста разобраться в задании лабораторной работы: Текст лаб.раб. №2 следующий: Как я понимаю, во 2-й...

Пытаюсь разобраться с SelectedItems, но не получается!
Доброго времени суток, форумчане! В чём суть: Пишу диплом, нужно отловить из listBox-а все (т.е. одно или несколько) выбранные значения...

Пытаюсь разобраться в логике калькулятора
Прорабатываю по Хорстману формы, попался калькулятор, решил разобраться. Код калькулятора приведен ниже. import java.awt.*; import...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru