小编mas*_*say的帖子

使用JNI将字符串数组从java传递给C.

我有一个字符串数组一样{"myname","yourname","hisname"},我想这个数组发送到ç使用JNI.我找不到任何明确的解决方案.我试图把这个字符串作为一个chararray但没有成功.

有没有办法做到这一点?

c java java-native-interface

30
推荐指数
2
解决办法
4万
查看次数

从java运行shell命令

我正在处理一个应用程序,有一个关于从java应用程序运行shell命令的问题.这是代码:

public String execRuntime(String cmd) {

        Process proc = null;
        int inBuffer, errBuffer;
        int result = 0;
        StringBuffer outputReport = new StringBuffer();
        StringBuffer errorBuffer = new StringBuffer();

        try {
            proc = Runtime.getRuntime().exec(cmd);
        } catch (IOException e) {
            return "";
        }
        try {
            response.status = 1;
            result = proc.waitFor();
        } catch (InterruptedException e) {
            return "";
        }
        if (proc != null && null != proc.getInputStream()) {
            InputStream is = proc.getInputStream();
            InputStream es = proc.getErrorStream();
            OutputStream os = proc.getOutputStream();

            try {
                while …
Run Code Online (Sandbox Code Playgroud)

java exec

7
推荐指数
1
解决办法
2万
查看次数

没有从db返回的行 - 但是有返回的记录

我正在使用jdbc sybase驱动程序(jconn3)执行select语句.我在isql上手动执行了检查语句,所有行都正确返回.在jdbc上执行的语句:

select * from mytable where date between ? and ?
Run Code Online (Sandbox Code Playgroud)

我添加了dateformat as yyyy-MM-dd HH:mm:ss并将时间值设置为开始日期的00:00:00和结束日期的23:59:59.

它不起作用.行数必须为1000但有时为770,有时为990,有时为564等.每次返回时都没有任何特定的行数.

之后我添加了一个额外的执行,它只返回行数.首先我执行 select count(*) from ... 语句然后执行select * from .... ,现在`select*from ... query每次返回正确的记录数.这与缓存无关.奇怪的是,我正在为这两个执行使用相同的preparestatement和resultset对象.

关于这个问题的任何想法?

@Rulmeq,这是代码(2012-03-29添加)

ResultSet rs = null;
PreparedStatement ps = null;

ps = myConn.getConnection().prepareStatement("select count(*) from myTable where date between ? and ?");
ps.setDate(1, new java.sql.Date(beginDate.getTime()));   // format : yyyy-MM-dd
ps.setDate(2, new java.sql.Date(endDate.getTime()));    // format : yyyy-MM-dd
rs = ps.executeQuery();
rs.next();
// some logs here

ps = myConn.getConnection().prepareStatement("select …
Run Code Online (Sandbox Code Playgroud)

java sql sybase jdbc

7
推荐指数
1
解决办法
812
查看次数

如何在xsl中为变量或参数设置新值

我需要一些关于xsl的帮助.我在源xml中有一个日期属性,我需要知道它以前的值,因为我需要根据日期进行分类.这是源xml.

source xml:

<root>
  <license id="a" expireDate="2010-02-01"/>
  <license id="b" expireDate="2010-02-01"/>
  <license id="c" expireDate="2010-02-01"/>
  <license id="d" expireDate="2010-02-04"/>
  <license id="e" expireDate="2010-02-04"/>
  <license id="f" expireDate="2010-02-12"/>
  <license id="g" expireDate="2010-02-12"/>
</root>
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为

<licenses>
   <expDate value="2010-02-01">
      <license>a</license>
      <license>b</license>
      <license>c</license>
   </expDate>
   <expDate value="2010-02-04">
      <license>d</license>
      <license>e</license>
   </expDate>
   <expDate value="2010-02-12">
      <license>f</license>
      <license>g</license>
   </expDate>
</licenses>
Run Code Online (Sandbox Code Playgroud)

实际上,我可以转换具有与给定格式不同的格式的源xml.我读过一些文章,却找不到办法.如何保留上一个日期值并检查它是否与当前日期值不同.

谢谢

xslt

3
推荐指数
1
解决办法
3277
查看次数

标签 统计

java ×3

c ×1

exec ×1

java-native-interface ×1

jdbc ×1

sql ×1

sybase ×1

xslt ×1