小编Mar*_*iot的帖子

参数化查询:检查字段是否在SELECT语句中的值数组中

我正在尝试将参数化查询配置为以下效果:

SELECT field1 FROM myTable WHERE field2 IN (1,2,3,4)
Run Code Online (Sandbox Code Playgroud)

我正在使用的数据库是Postgres.

此查询成功运行未参数化,但我想使用带有JdbcTemplate的参数化查询来填充有效field2值(整数)的列表.

尝试不同的值var("1,2,3,4","[1,2,3,4]","{1,2,3,4}",或"(1,2,3,4)"上查询),我试过的变化:

myJdbcTemplate.query("SELECT field1 FROM field2 IN (?)", new Object[]{ var })
Run Code Online (Sandbox Code Playgroud)

myJdbcTemplate.query("SELECT field1 FROM field2 IN (?::integer[])", new Object[]{ var })
Run Code Online (Sandbox Code Playgroud)

并且

myJdbcTemplate.query("SELECT field1 FROM field2 IN ?::integer[]", new Object[]{ var })
Run Code Online (Sandbox Code Playgroud)

另外,描述如何参数化查询的资源也非常有用.

所有这些查询抛出PSQLExceptions,指示操作符失败或类型不匹配 - 这似乎是合理的,因为我无法弄清楚如何参数化查询.

java sql postgresql jdbc parameterized

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

PHP的字母等价物是数字

我正在寻找一个函数,它将是is_numeric的字母等价物.如果字符串中只有字母,则返回true,否则返回false.PHP中是否存在内置函数?

php

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

Javascript bitshift替代math.round

var1=anyInteger
var2=anyInteger

(Math.round(var1/var2)*var2)
Run Code Online (Sandbox Code Playgroud)

对于上面的JavaScripts bitshift替代方法的语法是什么?

使用整数不浮动

谢谢

javascript

3
推荐指数
2
解决办法
6035
查看次数

正则表达式 - 包括字符串:java

我试图打印出与java中特定模式匹配的文件中的行.我正在使用Pattern类来执行此操作.

我试着将模式设为"[harry]",这样就可以打印掉每一行都有"哈里"的行.但模式总是评估为假.我的假设是我输入的正则表达式是一个字符串.

我的代码如下:

try {

      BufferedReader br = new BufferedReader(new FileReader("test.txt"));
      Pattern p = Pattern.compile("harry");
      String str = null;
      try {
        while((str = br.readLine())!=null){
          Matcher match = p.matcher(str);
          boolean b = match.matches();
          if(b){
            System.out.println(str);
          }
        }
      } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
Run Code Online (Sandbox Code Playgroud)

请帮忙.我不明白代码在哪里破解.我正在尝试不同的模式匹配,但这是正确的方法吗?

谢谢

java regex pattern-matching

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

给定均匀随机数生成器生成随机数

有人问我产生之间的随机数ab,包容,使用random(0,1).random(0,1)生成0到1之间的均匀随机数.

我回答了

(a+(((1+random(0,1))*b))%(b-a))
Run Code Online (Sandbox Code Playgroud)

我的采访者对我b在这段表达中的用法不满意:

(((1+random(0,1))*b))
Run Code Online (Sandbox Code Playgroud)

然后我尝试将我的答案改为:

int*z=(int*)malloc(sizeof(int));
(a+(((1+random(0,1))*(*z)))%(b-a));
Run Code Online (Sandbox Code Playgroud)

后来这个问题改变产生random(1,7)random(1,5).我回答:

A = rand(1,5)%3
B = (rand(1,5)+1)%3
C = (rand(1,5)+2)%3

rand(1,7) = rand(1,5)+ (A+B+C)%3
Run Code Online (Sandbox Code Playgroud)

我的答案是否正确?

c c++ algorithm

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

将C++中的浮点数舍入到一个小数位

我在c ++中有一个浮点数,数字可以是不同的形式,例如355.5或9.9(这是测试代码的输入).

我有一个功能

float return_max(angle_set_t *angles)  
{  
    float val;  
    float max;  
    max= angles->key;  
    while( angles != NULL )  
    {  
        val= angles->key;  
        if(max<=val)  
        {  
            max=val;  
        }  
        angles = angles->right;  
    }       
    return max;
}  
Run Code Online (Sandbox Code Playgroud)

max可以是浮点值.我想将值舍入到一个小数位.

我需要一个通用的解决方案,因此适用于355.555555和9.999999

float first_aset()
{
    //do somethig
    result=return_max();
    return result;
}

void main()
{
    if( first_aset(S, 357.0, 20.0 ) != 9.9 ||
        first_aset(T, 357.0, 20.0 ) != 9.9 )
    {
         printf("Error in wrap-around interval (3)\n");
         printf(" first in interval [357, 20) in S is %f, should be …
Run Code Online (Sandbox Code Playgroud)

c++ floating-point

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

将css样式添加到使用.get([index])选择的元素

我正在尝试将.css()方法添加到选中的元素.get():

$('.toggle').get(0).css("display", "none");
Run Code Online (Sandbox Code Playgroud)

......但这不起作用.我究竟做错了什么?

jquery

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

Cout修复了C++程序中的bug,但为什么呢?

我写了一个简单的程序来从雅虎财务中获取股票价格.读取数据的循环提前截断(并且结束了网站上的数据显示的位置,而不是完整下载到excell文件的正确日期).所以我在循环中输入一个cout命令来尝试调试和瞧,它工作正常!

那么为什么使用cout函数会改变程序功能呢?有任何想法吗?下面是代码.(我发现了两个相关的帖子,但仍然无法弄明白,例如"可以以某种方式改变变量?"和"C++程序中的奇怪错误:删除打印输出中断程序")

#include <string>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <windows.h>
#include <wininet.h>

using namespace std;
int main()
{
    HINTERNET hOpen, hURL;
    LPCWSTR NameProgram = L"Webreader"; // LPCWSTR == Long Pointer to Const Wide String 
    LPCWSTR Website;                    
    char file[101];
    int i;
    string filename;        
    unsigned long read;

    filename = "data.txt";
    ofstream myFile(filename);
    if (! myFile)
    {
        cout < "Error opening file\n";
    }
    if ( !(hOpen = InternetOpen(NameProgram, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 )))
    {
        cerr << "Error in opening internet" << …
Run Code Online (Sandbox Code Playgroud)

c++ cout

2
推荐指数
2
解决办法
1697
查看次数

创建具有大量节点的XML文件(1000万)

我尝试使用10 000 000个节点创建测试文件,例如:

    DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
            .newInstance();
    DocumentBuilder documentBuilder = documentBuilderFactory
            .newDocumentBuilder();
    Document document = documentBuilder.newDocument();
    Element rootElement = document.createElement("root");
    document.appendChild(rootElement);
    for (int i = 1; i <= 10000000; i++) {
        Element em = document.createElement("ch");
        em.appendChild(document.createTextNode("ch_data"));
        rootElement.appendChild(em);
    }
    TransformerFactory transformerFactory = TransformerFactory
            .newInstance();
    Transformer transformer = transformerFactory.newTransformer();
    DOMSource source = new DOMSource(document);
    StreamResult result = new StreamResult(new File("c:/file1.xml"));
    transformer.transform(source, result);
Run Code Online (Sandbox Code Playgroud)

但收到错误:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at   com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.
createElement(CoreDocumentImpl.java:620)
    at main.CreatXMLFile.main(CreatXMLFile.java:27)

在Java中是否存在另一个用于创建XML文件的库,其中包含超过10 000 000个节点?

java xml file

2
推荐指数
2
解决办法
4194
查看次数

Groovy可选括号使用

我正在尝试编写一个允许语法的DSL:

foo ["a", "b"], bar: { true }
Run Code Online (Sandbox Code Playgroud)

我认为应该像定义一个接受属性映射作为第一个参数的方法一样容易,例如:

def foo(Map attr, List blar) { ... }
Run Code Online (Sandbox Code Playgroud)

但似乎这种语法会导致问题,想知道是否有人可以解释原因,以及是否有一个解决方案允许像顶部的行那样的无语言语法.

样本groovysh执行:

groovy:000> def foo(Map attr, List blar) { println attr; println blar; }
===> true
groovy:000> foo ["a", "b"], bar: { true }
ERROR org.codehaus.groovy.control.MultipleCompilationErrorsException:
startup failed:
groovysh_parse: 1: expecting EOF, found ',' @ line 1, column 15.
   foo ["a", "b"], bar: { true }
                 ^

1 error

        at java_lang_Runnable$run.call (Unknown Source)
Run Code Online (Sandbox Code Playgroud)

dsl groovy

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