如何在 ListView 或 TableView 中显示来自 SQL Server 的数据
Posted
技术标签:
【中文标题】如何在 ListView 或 TableView 中显示来自 SQL Server 的数据【英文标题】:How to display data from SQL Server in a ListView or TableView 【发布时间】:2015-04-30 11:31:35 【问题描述】:我已使用 JTDS v.1.2.8 连接到我的 SQL Server
我是 JDBC 插件的新手,我正在努力解决这个问题。我也确实在论坛上查看了相关的问题/答案,但我找不到,所以我在这里问:)
我想要实现的是,我想以更好的方式显示从 SQL 数据库获取的数据,例如 listView 或 tableView。
这是我目前正在使用的代码,我只是调用“tblItems”,它只是在 textView 中显示表格的信息,它可以工作,但看起来和阅读它有点糟糕。
非常感谢任何评论或回答指出我的解决方案。
感谢您的宝贵时间。
TextView tv = (TextView)this.findViewById(R.id.display);
try
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection con = DriverManager.getConnection(url, username, password);
System.out.println("Database connection successfully");
String result = "Database connection success\n";
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from tblItems");
ResultSetMetaData rsmd = rs.getMetaData();
while(rs.next())
result += rsmd.getColumnName(1) + ": " + rs.getInt(1) + "\n";
result += rsmd.getColumnName(2) + ": " + rs.getString(2) + "\n";
result += rsmd.getColumnName(3) + ": " + rs.getString(3) + "\n";
tv.setText(result);
catch(Exception e)
e.printStackTrace();
tv.setText(e.toString());
【问题讨论】:
【参考方案1】:创建如下模型类:
public class Model
private int one;
private String two;
private String three;
// Getters and Setters omitted
然后,从你的数据库中获取数据并放入一个List中,例如:
List<Model> list = new ArrayList<Model>();
try
Class.forName( "net.sourceforge.jtds.jdbc.Driver" );
Connection con = DriverManager.getConnection( url, username, password );
System.out.println( "Database connection successfully" );
String result = "Database connection success\n";
Statement st = con.createStatement();
ResultSet rs = st.executeQuery( "select * from tblItems" );
ResultSetMetaData rsmd = rs.getMetaData();
while ( rs.next() )
Model obj = new Model();
obj.setone( rs.getInt( 1 ) );
obj.settwo( rs.getString( 2 ) );
obj.setthree( rs.getString( 3 ) );
list.add( obj );
catch ( Exception e )
e.printStackTrace();
创建一个 ListViewadapter 并将该列表传入:
ListViewAdapter adapter=new ListViewAdapter(this, list);
listView.setAdapter(adapter);
最后,您可以像这样在ListViewAdapter
类中获取您的数据,并根据需要设置为ListView
。
txt1.setText(list.get(position).getone());
txt2.setText(list.get(position).gettwo());
txt2.setText(list.get(position).gethree());
我想这会对你有所帮助!
【讨论】:
非常感谢您的详细回答,我会很快测试它,我相信这会很好用,再次感谢和欢呼。以上是关于如何在 ListView 或 TableView 中显示来自 SQL Server 的数据的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin Forms - 如何让 TableView 和 ListView 扩展到 iPhone X 安全区域?
使用 TableView 作为 ListView-delegate
JavaFx:窗口切换和ListView以及TableView的值绑定