我已经使用 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());
}
最佳答案
创建如下模型类:
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());
我想这对你有帮助!
关于android - 如何在 ListView 或 TableView 中显示来自 SQL Server 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29966579/