java ResultSet 如何获取多个返回的table的数据

java ResultSet 如何获取多个返回的table的数据,第1张

ResultSet rs = ; //查询语句略

while(rsnext()) {

    String reserved = rsgetString(1); //第一列

    String data = rsgetString(2); //第二列

    String indexSize = rsgetString(3); //第三列

    String unused = rsgetString(4); //第四列

}

不一定是String类型,要对应你表字段的类型,我这里只是举例

获取单元格值:tablegetValueAt(int row, int column),row和column都是从0开始,0代表第一行/列

设置单元格值:tablesetValueAt(Object value, int row, int col),value为要设置的值,row和col同上

import orgjsoupJsoup;

import orgjsoupnodesDocument;

import orgjsoupselectElements;

public class Test {

    public static void main(String[] args) {

         String str = "<table><tr><td>user</td><td>cc</td></tr><tr><td>pass</td><td>123</td></tr></table>";

        Document doc = Jsoupparse(str);

        Elements trs = docselect("table")select("tr");

        for(int i = 0;i<trssize();i++){

            Elements tds = trsget(i)select("td");

            for(int j = 0;j<tdssize();j++){

                String text = tdsget(j)text();

                Systemoutprintln(text);

            }

        }

    }

}

运行结果 :

user

cc

pass

123

JCOParameterList tableParams = functiongetTableParameterList();是指获得RFC中Tables参数列表,再用tableParamsgetTable()方法可以获得JCoTable table,获得具体数据表需要利用tablefirstRow()、tablenextRow();tablegetString();tablegetDouble()等方法遍历取得个字段的值,getFieldCount()和getNumRows()可以分别获得table的列数和行数。

思路:你先建立数据库连接:连接数据库的方式你应该会吧。不会在网上查一下,获取连接后:拿到连接对象:如下:

Connection conn = DriverManagergetConnection(url,userName,password);

//实现关于数据库的整体综合信息对象:如下:

javasqlDatabaseMetaData dbmd=conngetMetaData();

//获取数据库相关的信息,

Systemoutprintln("数据库产品名: "+dbmdgetDatabaseProductName());

Systemoutprintln("数据库是否支持事务: "+dbmdsupportsTransactions());

Systemoutprintln("数据库产品的版本号:"+dbmdgetDatabaseProductVersion());

//获取全表相关的信息

ResultSet tSet=dbmdgetTables(null,"%","%",newString[]{"TABLE","VIEW"})

while(tSetnext()){

Systemoutprintln(tSetgetRow()+"_表类别:"+tSetgetString("TABLE_CAT")+"_表模式:"+tSetgetString ("TABLE_SCHEM")+"_表名称:"+tSetgetString("TABLE_NAME")+"_表类型:"+tSetgetString("TABLE_TYPE")

//获取表的主键列信息;

ResultSetprimaryKey=dbmdgetPrimaryKeys("MANOR","PUBLIC","SYS_ROLE_RES");

while(primaryKeynext()){

Systemoutprintln("表名:"+primaryKeygetString("TABLE_NAME")+",列名:"+primaryKeygetString("COLUMN_NAME")

+" 主键名:"+primaryKeygetString("PK_NAME"));

//其中表名:SYS_ROLE_RES,

}

//获取表的外键列信息"

ResultSet foreinKey=dbmdgetImportedKeys("MANOR","PUBLIC","SYS_ROLE_RES");

while(foreinKeynext()){

Systemoutprintln("主键名:"+foreinKeygetString("PK_NAME")+",外键名:"+foreinKeygetString("FKCOLUMN_NAME")

+",主键表名:"+foreinKeygetString("PKTABLE_NAME")+",外键表名:"+foreinKeygetString("FKTABLE_NAME")

+",外键列名:"+foreinKeygetString("PKCOLUMN_NAME")+",外键序号:"+foreinKeygetString("KEY_SEQ"));

}

相获取更多SQL参数,可参考数据库相关方面的教材。

首先,纠正一下,List<String[] > table,这个类型为List<String[]>,名字为table,所以List<String[]>并没有setName这个方法(除非你自己重写List),至于{[xx,yy],[qq,ww],[ee,rr]} 这种赋值方式,对于List来说是不存在的(除非你自己重写List)。

如果我没有理解错你的意思的话,你是想保存一个数据表的数据

这样的话可以这样设计

编写一个类,例如:Tabel类

这个Table类包含两个属性

private String name;

private Map<String,Object[]> property;

name属性代表数据表的名字

property属性代表数据表的column以及对应数据;

这样就可以通过Table 这个类实现你所提及的赋取值

Table table = new Table();

赋值:

tablesetName("my_table");

Map<String,Object[]> map = new HashMap<String,Object[]>();

mapput("r",new Object[]{"rr"});

mapput("q",new Object[]{"qq"});

tablesetProperty(map);

取值:

String name = tablegetName();

String[] r = tablegetProperty()get("r");

String[] q = tablegetProperty()get("q");

不知道有没有理解错误你的意思

以上就是关于java ResultSet 如何获取多个返回的table的数据全部的内容,包括:java ResultSet 如何获取多个返回的table的数据、JAVA SWING下如何实现 JTABLE的 数据读取、处理及存放、Java jsoup 取得html中的table里的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9517516.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存