Java 用数据库内容填充SWT表

Java 用数据库内容填充SWT表,java,mysql,swt,Java,Mysql,Swt,我正在使用PhpMyAdmin将数据保存到数据库中。我有一个SWT表来填充数据库内容 这是我的密码 public static void fetchDatafromDB(String StartIndex, String FinalIndex) { try { Class.forName(GlobalVariables.SQL_driver).newInstance(); Connection conn = DriverManager.getConnect

我正在使用PhpMyAdmin将数据保存到数据库中。我有一个SWT表来填充数据库内容

这是我的密码

public static void fetchDatafromDB(String StartIndex, String FinalIndex) {
    try {
        Class.forName(GlobalVariables.SQL_driver).newInstance();
        Connection conn = DriverManager.getConnection(GlobalVariables.DB_url + GlobalVariables.DB_name, GlobalVariables.DB_Username, GlobalVariables.DB_password);
        Statement st = conn.createStatement();
        String query = "SELECT  `From`, `To`, `IDno`, `TimeStamp` FROM `callsheet` WHERE TimeStamp BETWEEN '" + StartIndex + "' AND '" + FinalIndex + "'";
        ResultSet rs = st.executeQuery(query);
        java.sql.ResultSetMetaData rsmd = rs.getMetaData();
        int columnsNumber = rsmd.getColumnCount();
        while (rs.next()) {
            for (int i = 1; i <= columnsNumber; i++) {
                // System.out.print(rs.getString(i));
                item.setText(i, rs.getString(i));
            }
            // System.out.println();
        }
    } catch (Exception P) {
        P.printStackTrace();
    }
}
publicstaticvoidfetchdatafromdb(stringstartindex,stringfinalindex){
试一试{
Class.forName(GlobalVariables.SQL_driver).newInstance();
Connection conn=DriverManager.getConnection(GlobalVariables.DB_url+GlobalVariables.DB_名称、GlobalVariables.DB_用户名、GlobalVariables.DB_密码);
语句st=conn.createStatement();
String query=“从`callsheet`中选择`From`、`To`、`IDno`、`TimeStamp`WHERE TimeStamp`From`+StartIndex+'”和`FinalIndex+'”;
结果集rs=st.executeQuery(查询);
java.sql.ResultSetMetaData rsmd=rs.getMetaData();
int columnsumber=rsmd.getColumnCount();
while(rs.next()){

对于(int i=1;i它应该是这样的:

public static void fetchDatafromDB(String startIndex, String finalIndex) {
    try {
        Class.forName(GlobalVariables.SQL_driver).newInstance();
        Connection conn = DriverManager.getConnection(GlobalVariables.DB_url + GlobalVariables.DB_name, GlobalVariables.DB_Username, GlobalVariables.DB_password);
        Statement st = conn.createStatement();
        String query = "SELECT  `FROM`, `To`, `IDno`, `TimeStamp` FROM `callsheet` WHERE TimeStamp BETWEEN '" + startIndex + "' AND '" + finalIndex + "'";
        ResultSet rs = st.executeQuery(query);
        java.sql.ResultSetMetaData rsmd = rs.getMetaData();
        int columnsNumber = rsmd.getColumnCount();

        TableItem item;
        while (rs.next()) {
            // Create a new TableItem for each entry in the result set (each row)
            item = new TableItem(table, SWT.NONE);
            for (int i = 1; i <= columnsNumber; i++) {
                // Populate the item (mind the index!!)
                item.setText(i - 1, rs.getString(i));
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
publicstaticvoidfetchdatafromdb(stringstartindex,stringfinalindex){
试一试{
Class.forName(GlobalVariables.SQL_driver).newInstance();
Connection conn=DriverManager.getConnection(GlobalVariables.DB_url+GlobalVariables.DB_名称、GlobalVariables.DB_用户名、GlobalVariables.DB_密码);
语句st=conn.createStatement();
String query=“从`callsheet`中选择`FROM`、`To`、`IDno`、`TimeStamp`WHERE TimeStamp`FROM`+startIndex+'”和`finalIndex+'”;
结果集rs=st.executeQuery(查询);
java.sql.ResultSetMetaData rsmd=rs.getMetaData();
int columnsumber=rsmd.getColumnCount();
表项目;
while(rs.next()){
//为结果集中的每个条目(每行)创建新的TableItem
项目=新表项目(表,SWT.NONE);

for(int i=1;i@AJ。您的链接包含Swing的代码,OP要求SWT。@Baz-Ohh-yaa..很抱歉。@Baz如何解决这个问题?有什么想法吗?@Amit.D我想我不明白您的问题。您能详细说明或者添加一个屏幕截图吗?@Baz而不是System.out.println()在上面的代码中。您能否建议一些方法,将服务器内容自动带到swt表的下一行中(我已使用添加的标题对该表进行了初始化,我所需要的只是从服务器获取数据以填充整个表)。现在,整个服务器内容仅显示在我表的一行中(一个接一个地非常快)……刚刚添加了屏幕截图。@Amit.D没问题。当我能帮忙时,总是很高兴。