java 向数据库插入数据

数据是这样获得的一个数组 str[i] = nd.getNodeValue().trim()。怎样才能依次插入数据库呢。这里用的是SQL Server数据库
怎么个顺便法?这个str[i]数组是从xml中解析出来的数据。要写进sql server中去。

java向数据库中插入数据,可以使用mysql数据库,使用statement类来操作数据库,示例如下:

Connection conn = null;
  Statement st = null;
  try {
   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载驱动类
   conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://<server_name>:<1433>", "name","pwd");
   conn.setAutoCommit(false);
   st = conn.createStatement();
   // æ¨¡æ‹Ÿä¸€ä¸ª str[i] = nd.getNodeValue().trim()
   String[] str = new String[] { "aaa", "bbb", "ccc", "ddd", "eee","fff" };
   String sqlStr = null;
   for (int i = 0; i < str.length; i++) {
    sqlStr = "INSERT INTO <TABLENAME> (<COLNAME>)VALUES('" + str[i] + "')";//向数据库中插入数据
    st.executeUpdate(sqlStr);
   }
   conn.commit();
  } catch (Exception e) {
   e.printStackTrace();
  } finally {//释放数据库的资源
   try {
    if (st != null)
     st.close();
    if(conn != null && !conn.isClosed()){
     conn.close();
    }
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-25
你的问题的确表达不太清楚,我根据你的意思模拟了一个,供你参考一下:

Connection conn = null;
Statement st = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://<server_name>:<1433>", "name","pwd");
conn.setAutoCommit(false);
st = conn.createStatement();
// 模拟一个 str[i] = nd.getNodeValue().trim()
String[] str = new String[] { "aaa", "bbb", "ccc", "ddd", "eee","fff" };
String sqlStr = null;
for (int i = 0; i < str.length; i++) {
sqlStr = "INSERT INTO <TABLENAME> (<COLNAME>)VALUES('" + str[i] + "')";
st.executeUpdate(sqlStr);
}
conn.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (st != null)
st.close();
if(conn != null && !conn.isClosed()){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}本回答被提问者采纳
第2个回答  2008-06-13
对呀,就是循环插入
第3个回答  2008-06-12
你在str[i]取得值的时候,顺便也写入数据库不就行了吗?
说实话,你的问题好像表达得不是很清楚
第4个回答  2008-06-12
很复杂
相似回答