Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中列出Sqlite3数据库中的表名_Java_Php_Sqlite - Fatal编程技术网

如何在Java中列出Sqlite3数据库中的表名

如何在Java中列出Sqlite3数据库中的表名,java,php,sqlite,Java,Php,Sqlite,我正在java应用程序中使用sqlite3数据库。如何以编程方式获取数据库中所有表的名称?我也尝试过谷歌和stackoverflow,但还没有找到一个简单的解决方案。下面是我在PHP中使用的MySqli代码,我正在Java-Sqlite3中尝试类似的方法 mysqli_select_db($conn, $database); $res = mysqli_query($conn, "SHOW TABLES FROM " . $database . ""); while($cRow = mysqli

我正在java应用程序中使用sqlite3数据库。如何以编程方式获取数据库中所有表的名称?我也尝试过谷歌和stackoverflow,但还没有找到一个简单的解决方案。下面是我在PHP中使用的MySqli代码,我正在Java-Sqlite3中尝试类似的方法

mysqli_select_db($conn, $database);
$res = mysqli_query($conn, "SHOW TABLES FROM " . $database . "");
while($cRow = mysqli_fetch_array($res, MYSQL_NUM)) {

    $namm=$cRow[0];


    $query = "SELECT COUNT(*) FROM " . $namm . "";
    $result = mysqli_query($conn,$query);
    $rows = mysqli_fetch_row($result);
    $namk = $rows[0];

    echo "<li type='square' style='margin-bottom:3px;'>" . $cRow[0] . " (" . $namk . ")</li>";
}
mysqli_close($conn);
mysqli选择数据库($conn$database); $res=mysqli_查询($conn,“显示来自“$database.”的表”); 而($cRow=mysqli\u fetch\u数组($res,MYSQL\u NUM)){ $namm=$cRow[0]; $query=“从“$namm.”中选择计数(*); $result=mysqli\u查询($conn,$query); $rows=mysqli\u fetch\u行($result); $namk=$rows[0]; echo“
  • 您可以使用JDBC的内置API来探索数据库元数据:

    try (Connection conn = DriverManager.getConnection("jdbc:sqlite:sample.db")) {
        ResultSet rs = conn.getMetaData().getTables(null, null, null, null));
        while (rs.next()) {
            System.out.println(rs.getString("TABLE_NAME"));
        }
    }
    

    从sqlite\u master WHERE中选择*。
    何处何处?这就是问题所在。谢谢你的回答。但我已经有了这个片段,并在2天前尝试了它,它抛出了一些错误,我不容易记住。我会把它挖出来再试一次。谢谢你的回答。我将尝试这一个和更新。
    try (Connection conn = DriverManager.getConnection("jdbc:sqlite:sample.db")) {
        ResultSet rs = conn.getMetaData().getTables(null, null, null, null));
        while (rs.next()) {
            System.out.println(rs.getString("TABLE_NAME"));
        }
    }