2017-12-09 40 views
-2

어쨌든 나는 아나 로그의 셀 값을 변경할 수 있습니까? getValueAtsetValueAt을 사용해 보았습니다. 시도 할 때마다 getValueAt이 데이터베이스와 작동하지 않는다는 오류가 발생합니다. 나는 이것이 자바에서 작동 할 것이라고 확신한다. 왜 여기서 일하지 않는거야?Anylogic - 데이터베이스의 셀에 액세스하는 방법

제안 사항이나 해결 방법은 있습니까?

+1

시도한 것을 보여주는 코드 예제를 보여줍니다. – Alan

+0

의견에 감사드립니다. 먼저 내가 시도 : db_auftrag.setValueAt를 ("2", 2, 2) 가 나중에 내가 시도 : db_auftrag.setValueAt (2,2) = 2 db_auftrag (2,2) = 2 는 db_auftrag 내 데이터베이스입니다 . B2 셀에 2를 쓰고 싶습니다. – 3S7

답변

0

insertInto 함수를 사용하여 새 데이터 행을 추가하거나 "update"함수를 사용하여 기존 셀을 수정하고 코드 예제의 AnyLogic 도움말에이를 입력하십시오. insert into 내부 데이터베이스에

+0

나는 이것을 시도했지만 이해하지 못합니다. 어쨌든 대단히 감사합니다! \t insertInto (db_auftrag) .columns (typ1) .values ​​("1") .Execute를(); 뿐만 아니라 \t executeStatement ("INSERT INTO db_auftrag (typ1) VALUES ('1')"); anylogic 도움말에서 좋은 예를 찾으려면 할 수 없었습니다. – 3S7

+0

감사합니다. 이 문제를 해결하려는 다른 누군가가 있다면 "업데이트"기능을 사용할 수있는 기능입니다. 나는 insertinto에 집중해야했다. – 3S7

0

이 같은 수행 https://help.anylogic.com/topic/com.anylogic.help/html/connectivity/Inserting.html

를하지만 나에게 보인다, 당신은 update에 데이터베이스에서 값을합니다. 다음을 사용해야합니다. https://help.anylogic.com/topic/com.anylogic.help/html/connectivity/Updating.html

업데이트하는 경우 업데이트 할 행을 지정해야합니다. 예를 들어 column1에는 id가 있고 column2의 값을 업데이트하려고합니다. 다시 시뮬레이션에이 값을 읽으려면

int var = 2;  
update(db_auftrag) 
.where(db_auftrag.column1.eq("parameter1")) 
.set(db_auftrag.column2, var) 
.execute(); 

는, 캐시 DB 테이블 만 원을 읽지 않는이 같은 작업을 수행합니다. 여기에 그레고리 (Gregory)가 언급했습니다. https://stackoverflow.com/a/46547812/7105351

+0

고마워, 이제는 효과가있다. 삽입과 업데이트 사이의 차이점에 대한 힌트는 매우 중요했습니다. 나는 장님이었다. – 3S7

+0

숫자로 열을 액세스 할 수 있습니까? – 3S7