【问题标题】:How to store each field data in string from List?如何将每个字段数据存储在列表中的字符串中?
【发布时间】:2013-11-28 09:36:01
【问题描述】:

我创建了一个 java 类,它从数据库中获取数据并添加到列表中。方法 dbd() 返回列表。

public class db {
  public List dbd() {
   List myList = new ArrayList();
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection("jdbc:mysql:*********,*******");
            Statement stmt2 = conn.createStatement();
            ResultSet rs2 = stmt2.executeQuery(" SELECT name_id,address,image from data where name="kiran";" )  ;
                 while(rs2.next())
                  {
                  myList.add(rs2.getString("name_id"));
                  myList.add(rs2.getString("address"));
                  myList.add(rs2.getString("image"));
                  }

        } catch (Exception ex) {
            System.out.println(ex);
        }

        return myList;
             }

    public static void main(String args[]){ 

     }

}

在这个 jsp 页面中,我将 db 对象创建为 nw。通过使用迭代器,我可以打印数据库中的所有字段数据。

 <%
   db nw = new db();         
   Iterator it = nw.dbd().iterator();
   while (it.hasNext()) {
     out.println(it.next());
    }         

 %>      

**** 我需要存储每个字段数据以存储回单个字符串,例如 name_id、address、image .. 我应该怎么做?

【问题讨论】:

  • 请格式化您的代码
  • 请不要对我们大喊大叫。我们不是聋子。
  • 你有什么问题?您面临哪个错误?
  • 没有错误..但是此代码打印页面中的所有数据。但我需要获取单个字段数据并存储到字符串 name_id、address、image 并单独打印。

标签: java sql sql-server jsp


【解决方案1】:

Java List 提供有序集合。你做了什么:你已经根据索引顺序向你的集合中添加了一些字符串。 IE。添加到列表中的每个新字符串都将具有下一个索引。这意味着,如果您的数据库中有 3 列,则您连续添加了“name_id”、“address”和“image”的值。一种解决方案可能是:

            int ind = 0;
    while (it.hasNext()) {
        String name;
        String address;
        String image;
        if (ind % 3 == 0)
            name = it.next();
        else if (ind % 3 == 1)
            address = it.next();
        else if (ind % 3 == 2)
            image = it.next();
                    ind++;
    }

就个人而言,我更愿意通过以下方式将这些数据存储在 ArrayList 中:

    ArrayList list = new ArrayList<JSONObject>();
    while(rs2.next()){
    JSONObject obj = new JSONObject().put("name_id", rs2.getString("name_id")).put("address", rs2.getString("address")).put("image", rs2.getString("image"));
    list.add(obj);
    }

在这种情况下,您将在 JSON 对象中对行进行分组,您可以像这样检索数据:

    Iterator<JSONObject> it = list.iterator();
    while (it.hasNext()) {
        JSONObject obj = it.next();
        String name = obj.getString("name_id");
        String address = obj.getString("address");
        String image = obj.getString("image");
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多