数据是这样获得的一个数组 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();
}
}本回答被提问者采纳
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
很复杂