DemoScript2.java
import java.nio.charset.Charset;
 
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
 
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.Timestamp;
 
public class DemoScript2 extends ScriptJava {
 
    Ref refLastDate;
    Ref refMsgText;
    Ref refMsgError;
    Ref refMsgSend;
 
    int time;
    String text;
 
    final static String dbname = "db";
    Database db;
 
    boolean connected;
 
 
    @Override
    public boolean load() {
        time = getArg("time", 800);
        refLastDate = createRef("lastdate");
        refMsgText  = createRef("msg", "text");
        refMsgError = createRef("msg", "error");
        refMsgSend  = createRef("msg", "send");
 
        return true;
    }
 
 
    @Override
    public boolean prepare() {
        db = getDatabase(dbname);
        if (db == null) {
            printError("Database module is not found: " + dbname);
            return false;
        }
        connected = false;
        return true;
    }
 
 
    @Override
    public void execute() {
        if (db == null || !isValid())
            return;
 
        if (!connected && db.isConnected()) {
            connected = true;
            init();
        }
 
        if (connected && !db.isConnected()) {
            connected = false;
        }
 
        if (connected)
            update();
    }
 
 
    /// init ///
    private void init() {
 
        // some code
 
    }
 
 
 
 
    /// update ///
    private void update() {
        try (Statement st = db.getConnection().createStatement()) {
 
              // some code
 
            String sql = "select * from users";
            try (ResultSet rs = st.executeQuery(sql)) {
 
              // some code
            }
 
              // some code
 
        } catch (Exception e) {
            printError(e, "Request error");
        }
 
    }
}
doc/jroboplc/modules/tagscript/javaexample2.txt · Последние изменения: 2022/02/05 17:55 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0