测试环境
Create Table TEST
(nameNvarchar(10),
kechengNvarchar(10),
fenshu Int)
插入数据
Insert TEST Values(N'张三', '语文', 81)
Insert TEST Values(N'张三', '数学', 75)
Insert TEST Values(N'李四', '语文', 76)
Insert TEST Values(N'李四', '数学', 90)
Insert TEST Values(N'王五', '语文', 81)
Insert TEST Values(N'王五', '数学', 100)
Insert TEST Values(N'王五', '英语', 90)
我要实现这个方法:private boolean insert(String tableName,Hashtable dbParam) {// 查入信息  tableName为处理 的表名 dbParma 为哈西表名 Connection conn = null; Statement stmt = null; try { conn = DButil.getCon();
stmt = conn.createStatement();
                            //  插入的信息从哈西表 dbParam中获得,



return true;
} catch (Exception e) {

return false; } finally {
try {
if (conn != null) {
conn.close();
} } catch (Exception e) { }
}
问题是怎么将数据从哈西表中获得,谢谢!!!!

解决方案 »

  1.   

    dbParam  ht;
     stmt.setString(ht.get("Name1"));
     stmt.setString(ht.get("Name1"));
     stmt.setString(ht.get("Name1"));
      

  2.   

    String tableName,Hashtable dbParam1.拼个sql
      如: "insert into " + tableName + " (" + 字段名 + ... + 
             values(?,?,?...)2.写入数据
      PreparedStatement ps = connection.preparedState
      pStmt = conn.prepareStatement(sql);
      for...{
        pStmt.setString(1, 数据内容);
        ...
        pstmt.executeUpdate();
      }3.Hashtable
      取名字用:dbParam.keySet().iterator()
      取内容使用:dbParam.get(名字)
      

  3.   

    重要的是怎么拼这个sql语句,字段是不定的,从Hashtable取道的数字段是不同的,怎么一个一个拼到sql中呢,谢谢!!!!
                     StringBuffer sql = new StringBuffer();
    sql.append(" insert");
    sql.append(" into ");
    sql.append(tableName);
    sql.append("(");
    sql.append(“”);//不定的字段,个数不定,怎么写这个sql
    sql.append(")");
    sql.append("values");
    sql.append("(");
    sql.append("'");
    sql.append();       //值也是一样
    sql.append("'");
    sql.append(")"); stmt.executeUpdate(sql.toString());