Diamond: Все сообщения за 26 Мая 2006 года

 
ПнВтСрЧтПтСбВс
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

Diamond

втянувшийся

Пытаюсь написать вот такой запрос:
"SELECT * FROM characters WHERE account_name = 'admin'" query "char_name" p@
вроде аналогично указано в примере. Но не работает :(

Пишет ошибку:

java.lang.NoSuchMethodException: java.lang.Integer.getchar_name()
java.lang.NoSuchMethodException: java.lang.Integer.getchar_name()
at java.lang.Class.getMethod(Unknown Source)
at ru.balancer.jbforth.words.Java$dget.exec(Java.java:160)
at ru.balancer.jbforth.Word.exec(Word.java:56)
at ru.balancer.JBForth.do_word(JBForth.java:398)
at ru.balancer.JBForth.do_code(JBForth.java:248)
at ru.balancer.JBForth.do_code(JBForth.java:218)
at ru.balancer.JBForth.exec(JBForth.java:138)
at ru.balancer.JBForth.execp(JBForth.java:149)
at net.sf.l2j.gameserver.clientpackets.RequestBypassToServer.runImpl(Req
uestBypassToServer.java:124)
at net.sf.l2j.gameserver.clientpackets.ClientBasePacket.run(ClientBasePa
cket.java:37)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

В стеке вроде как массив появляется:

Stack: [{z=-3773, y=142832, x=73897, hairColor=0, obj_Id=268465682, clan_privs=2
047, account_name=admin, sex=true, title=, nochannel=0, rec_left=11, accesslevel
=200, hairStyle=0, lastAccess=1148634174, pvpkills=0, face=0, clanid=268474130,
ccraftslots=50, pkkills=1, heading=33568, char_name=admin, online=true, wantspea
ce=0, onlinetime=90221, dcraftslots=50, deletetime=0, deleteclan=0, karma=9600,
rec_have=0}]

Как либо иначе вытащить оттуда значения не могу, т.к. нигде не написано как пользоваться такими массивами.
 

Diamond

втянувшийся

Спасибо, вот теперь понятно :)

Еще вопрос, как быть когда mysql возвращает несколько строчек, и нужно в каждой выбрать например поле char_name и запихать например в массив? Вроде бы вот так должно работать:

"SELECT * FROM characters'" parse query 0 DO
n list@
n 1 + to n (так писать или короче можно? :) )
"char_name" m@ .
LOOP
 

Diamond

втянувшийся

dup забыл :)

"SELECT * FROM characters'" parse query 0 DO
dup n list@
n 1 + to n (так писать или короче можно? :) )
"char_name" m@ .
LOOP

Проверил, так работает, только почему query возвращат всегда 0? Она же вроде число строк должна возвращать.. Как тогда do параметр задавать?
 

Diamond

втянувшийся

До do-list и list# еще не докопался ;D
Буквально второй день форт учу :)
Спасибо, с массивами вроде разобрался, дальше кажись сам пойму.
 

Diamond

втянувшийся

?dup IF . drop exit THEN
'"admin" m@ .' do-list

После этого упал весь форт ;D
Перестало работать абсолютно все связанное с фортом, даже после рестарта :)
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru