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.
We use cookies which are necessary for the proper functioning of our websites. We also use cookies to analyze our traffic, improve your experience and provide social media features. If you continue to use this site, you consent to our use of cookies.