我有对象的arraylist,并尝试将列表插入HANA。所以我的插入代码看起来像
PreparedStatement stmt = conn
.prepareStatement("INSERT INTO SCHEMA.TABLE VALUES"
+ " (?, ?, ?, ?, ?, ?, ?, ARRAY("+"1,2,3"+")");
for (int i = 1; i <= ITERATION_MAX; i++) {
stmt.setInt(1, listofdata.get(i).get_id());
stmt.setInt(2, listofdata.get(i).get_name());
stmt.setInt(3, listofdata.get(i).get_place());
stmt.setInt(4, listofdata.get(i).get_year());
stmt.setInt(5, listofdata.get(i).get_day());
stmt.setInt(6, listofdata.get(i).get_rollno());
stmt.setInt(7, listofdata.get(i).get_main_subject());
stmt.setArray(8, listofdata.get(i).get_elective());
stmt.addBatch();
}
stmt.executeBatch();
这里
listofdata.get(i).get_elective()
返回一个整数数组。
但这无法正常工作。根据我的程序每次都会调用ARRAY函数,但是为什么不将其插入HANA数据库中呢,所以过了一会儿我才知道我必须将JAVA
Array转换为HANA Array。如何转换Java Array到HANA阵列。任何帮助表示赞赏。
@RKR好的,这里有您的示例:
/*
* We're goin to insert several arrays into the HANA table,
* with different lengths
*
* let's assume we already got a table like this
* CREATE COLUMN TABLE T3 ( ID INT PRIMARY KEY, C1 INT ARRAY );
*/
Integer[][] myarr ={ {1}, {1,2}, {1,2,3,4,5}, {1,2}, {1,2,3} };
String testSection = "Insert Arrays one by one";
stopWatch.start(testSection);
myDBconn.setAutoCommit(false);
Statement stmt = myDBconn.createStatement();
stmt = myDBconn.createStatement();
stmt.execute("TRUNCATE TABLE DEVDUDE.T3");
// loop over our array of arrays and visit each once
for (int i = 0 ; i < (myarr.length); i++) {
int curr_length = myarr[i].length;
String arrayFunction = "ARRAY (";
for (int j = 0; j < (curr_length); j++){
arrayFunction = arrayFunction.concat(myarr[i][j].toString()) ;
// add comma if this is not the last element
if (j < (curr_length - 1)){
arrayFunction = arrayFunction.concat(", ") ;
}
}
arrayFunction = arrayFunction + ")" ;
// now the arrayFunction should loook like this
// ARRAY ( ..., .... ,... )
String insCMD = "INSERT INTO T3 (id, c1) "
+ " VALUES (" + i + ", "
+ arrayFunction
+ " ) ";
System.out.println(insCMD);
int affectedRows = stmt.executeUpdate(insCMD);
System.out.println("Loop round " + i
+ ", last affected row count " + affectedRows);
}
myDBconn.commit();
stmt.close();
stmt = null;
不,这个代码并 不能 净化输入到INSERT语句,但有以待进行,以避免SQL注入。
当我运行代码时,将输出以下内容:
INSERT INTO T3 (id, c1) VALUES (0, ARRAY (1) )
Loop round 0, last affected row count 1
INSERT INTO T3 (id, c1) VALUES (1, ARRAY (1, 2) )
Loop round 1, last affected row count 1
INSERT INTO T3 (id, c1) VALUES (2, ARRAY (1, 2, 3, 4, 5) )
Loop round 2, last affected row count 1
INSERT INTO T3 (id, c1) VALUES (3, ARRAY (1, 2) )
Loop round 3, last affected row count 1
INSERT INTO T3 (id, c1) VALUES (4, ARRAY (1, 2, 3) )
Loop round 4, last affected row count 1
并在表上的SELECT返回:
ID C1
0 1
1 1, 2
2 1, 2, 3, 4, 5
3 1, 2
4 1, 2, 3
我是mongoDB的新手,但我对couchDB非常了解。在couchdb中,我们有JSONObject和JSONArray,所以我们可以轻松地在文档中插入任何内容,比如 我想做下面这样的事情 所以这里有一个字符串列表,也可以是jsonarray或任何字符串数组,整数类型,这个数组放在文档的键名“master”上。 这是关于如何在mongodb中插入数组的全部想法。 我使用BasicBobObjec
我正在尝试使用Java jdbc连接在mysql数据库中插入一行。。。。 这是我的密码, } 当我尝试运行代码时,我得到类强制转换异常。。。非常感谢您的帮助。这是我的学生。java类 } 当我运行代码时,我得到以下错误:线程“main”java中出现异常。lang.ClassCastException:类java。util。日期不能转换为java类。sql。jdbcsample中的日期(java.
本文向大家介绍在SAP HANA中使用Information Composer,包括了在SAP HANA中使用Information Composer的使用技巧和注意事项,需要的朋友参考一下 Information Composer是SAP HANA系统中的自助式BI报告和建模工具。使用Information Composer,最终用户可以使用.csv和.xls文件将数据导入HANA系统,并可以使
我正在尝试使用hector API将数据插入到cassandra数据库中。下面显示了我使用的代码。 但是在给定的keyspace下的/var/lib/cassandra/data文件夹中找不到任何插入的数据。数据插入似乎不能正常工作。代码有什么问题。下面显示了我用来创建'data'列族的命令。
我是Java新手,在将动态数据插入Excel文件时遇到问题。下面是下面的代码。如果我删除我的excel文件并重新运行我的程序。然后它会创建一个新的文件,也会插入下面的数据。(hello,goodbye,true,date)。在第一次运行期间,程序仍然可以插入下面的数据,但是当我执行下一次运行时,数据不能存储到下一行。这是下面的代码来检查文件是否存在。我希望我可以得到一个人来帮助我,因为我正在为这段