如何将矢量值存储到数据库?简单的例子将帮助我(初学者)
我有一个如下的向量,并希望将其内容保存到数据库中可用的11列。 Vector包含11个值:
Vector cellStoreVector = new Vector();
下面的是我尝试过的代码。结构或语法有什么问题吗?它没有向DB提供任何错误或保存值。
String sql = "INSERT INTO table name (EMP_ID,FNAME, LNAME, CATEGORY, DEPARTMENT, Title, REASON, TL, START_DATE, END_DATE, ID) VALUES(?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement pst1 = conn.prepareStatement(sql);
pst1.setString(1, cellStoreVector .get(0) );
pst1.setString(2, cellStoreVector .get(1));
pst1.setString(3, cellStoreVector .get(2));
pst1.setString(4, cellStoreVector .get(3);
pst1.setString(5, cellStoreVector .get(4));
pst1.setString(11, cellStoreVector .get(10) ;
pst1.execute();
答案 0 :(得分:1)
http://www.tutorialspoint.com/jdbc/jdbc-sample-code.htm
如果你提供的上述代码就是你所拥有的,我可以看到为什么它没有提供任何错误,也没有提交到数据库。您需要执行预准备语句,以便jdbc运行并返回结果,或执行插入或更新。上面的链接是一个非常简单的例子。
答案 1 :(得分:0)
由于sql请求是
INSERT INTO table_name VALUES (value1, value2, value3,...)
您只需要构建一个字符串并将其提供给SQL引擎。
Vector< String > v = new Vector<>();
v.add( "riri" );
v.add( "fifi" );
v.add( "loulou" );
String insert =
String.format(
"INSERT INTO table_name VALUES ( '%s', '%s', '%s' )",
v.get(0), v.get(1), v.get(2));
System.out.println( "SQL statement: " + insert );
statement.execute( insert );