1. hoai bao
  2. PowerBuilder
  3. Sunday, 13 September 2020 13:31 PM UTC

Dear All

please help me!

I use javawm. I am trying to pass a resultset to the function of java.When I convert from java to pb, it is java_resutset parameter. I want the resultset parameter of pb java_resultset = resultset of the powerbuilder. Please give me an example below how it will handle

 

powerbuilder

datastore ds_datastore

resultset lrs_resultset

integer li_rc

ds_datastore = CREATE DataStore
ds_datastore.dataobject = "d_data"
ds_datastore.SetTransObject (SQLCA)

IF ds_datastore.Retrieve() = -1 THEN


END IF

li_rc = ds_datastore.GenerateResultSet(lrs_resultset)

IF li_rc <> 1 THEN


END IF


JavaVM lJavaVM
EJBConnection lEJBConn
pbexcel lnv_pbexcel
Long    ll_return
String ls_classpath, ls_arrnull[]
Any la_return
boolean lb_return

java_resultset ljava_resultset


lJavaVM = Create JavaVM

ls_classpath = "D:\teeeeeee\JavaClass"
ll_return =  lJavaVM.CreateJavaVM(ls_classpath, False)
Choose Case ll_return
	Case 1
	Case 0
	Case -1
		MessageBox ( "", "jvm.dll was not found in the classpath.")
		Return -1
	Case -2
		MessageBox ( "", "pbejbclient190.jar file was not found." )
		Return -1
	Case Else
		MessageBox ( "", "Unknown result (" + String (ll_return ) + ")"  )
		Return -1
End Choose

If ll_return < 0 Then
	Destroy lJavaVM
	Return -1
End If

lEJBConn = Create EJBConnection
ll_return = lEJBConn.CreateJavaInstance( lnv_pbexcel, "pbexcel")
If ll_return <> 0 Then
	MessageBox("", "CreateJavaInstance returned " +String(ll_return))
	Destroy lEJBConn
	Return -1
Else
	Try
		lb_return = lnv_pbexcel.pbresultset( ljava_resultset)
		if lb_return then
			MessageBox("", "ok")
		else
			MessageBox("", "false")
		end if
	Catch (CreateException ce)
		MessageBox( "Create Exception", ce.getMessage() )	
		Return -1
	Catch (Throwable t)
		MessageBox(" Other Exception", t.getMessage())
		Return -1
	End Try
End If

 

java

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;

public class PBExcel {

    public PBExcel() {
    }

    public static String sayHello(String a) {
        return "Hello world" + a;
    }

    public static boolean PBResultSet(ResultSet rs) {
        boolean breturn = true;
        try {
            String filetext;
            filetext = "C:\\Users\\BAOGA\\Desktop\\ga.text";
            BufferedWriter fileWriter = new BufferedWriter(new FileWriter(filetext));
            ResultSetMetaData rsmdsc = rs.getMetaData();
            int numcol = rsmdsc.getColumnCount();
            while (rs.next()) {
                for (int colIndex = 1; colIndex <= numcol; colIndex++) {
                    String value = rs.getString(colIndex);
                    //System.out.println(value);
                    fileWriter.write(value);
                    fileWriter.newLine();
                }
            }
            fileWriter.close();
        } catch (Exception e) {
            breturn = false;
        }
        return breturn;
    }

    public static void main(String[] args) {
        System.out.println(PBExcel.sayHello("ggaaaga"));
    }
}

Thanks!

Attachments (1)


There are no replies made for this question yet.
However, you are not allowed to reply to this question.