繁体   English   中英

如何将来自SQL Server查询的数据显示到android表中

[英]How to display data from a SQL Server query into android tables

我建立了到外部服务器SQL Server的连接,但是只能使用以下代码显示数据:

void cursorset (){
    java.sql.DatabaseMetaData dm = null;

    try {
        connection = this.getConnection();

        if (connection != null) {
            Resultset = result;
            private final String statement = "select*from *******";
            dm = connection.getMetaData();            
            Statement select = connection.createStatement();
            result = select.executeQuery(statement);

            while (result.next()) {
                mostrar_datos.append("" +result.getObject(1)+result.getObject(2)+" "+result.getObject(3));
            }

            result.close();
            result = null;
            closeConnection();
        } else {
            mostrar_datos.append("Error: No active Connection");
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    dm = null;
}

问题是我需要在具有动态行和列的表或alertdialog上显示返回的数据,但我不知道该怎么做。

如何将来自SQL Server查询的数据显示到android表中

因此,您应该创建一些类来解释实际数据库中的表,并且上述方法应返回值列表。

随后,返回的数据可以简单地显示在AlertDialog或某些ListView

例:

您的数据库有一个表:具有3列的用户-id(主键),名称,姓氏。 所以您创建具有“相同结构”的类

public class User {

   private int id;
   private String name;
   private String surname;

   // getters and setters
}

然后您的方法可以如下所示:

public List<User> getAll() {
   List<User> users = new ArrayList<User>();
   User u = null;
   // initialise connection etc.
   while (resultSet.next()) {
      u = new User();
      u.setId(resultSet.getInt(1));
      u.setName(resultSet.getString(2));
      u.setSurname(resultSet.getString(3));
      users.add(u);  
   }
   return users;
   // in finally block close connection.
}

您可以使用相应的CursorAdapter轻松在ListView显示数据,查询将返回一个Cursor对象。 CursorAdapter的职责是将数据从Cursor映射到ListView中行的布局中的id。

以下是一些入门指南:

http://docs.xamarin.com/guides/android/user_interface/working_with_listviews_and_adapters/part_4_-_using_cursoradapters

http://developer.android.com/reference/android/app/ListActivity.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM