Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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中的sqlite嵌入式数据库中插入一行。插入后,更改仅在该程序中可见_Java_Database_Sqlite - Fatal编程技术网

我试图在java中的sqlite嵌入式数据库中插入一行。插入后,更改仅在该程序中可见

我试图在java中的sqlite嵌入式数据库中插入一行。插入后,更改仅在该程序中可见,java,database,sqlite,Java,Database,Sqlite,我试图在java中的SQLite嵌入式数据库中插入行。添加后,更改仅在该程序中可见。我看不到sqlite管理器中的更改。当我尝试在sqlite管理器中插入一行时,程序中显示的插入值将被删除。并显示我使用sqlite管理器添加的行。请帮忙 连接类 import java.net.URL; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.

我试图在java中的SQLite嵌入式数据库中插入行。添加后,更改仅在该程序中可见。我看不到sqlite管理器中的更改。当我尝试在sqlite管理器中插入一行时,程序中显示的插入值将被删除。并显示我使用sqlite管理器添加的行。请帮忙

连接类

import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;


public class HsqlConn {

//public static void main(String[] args) {
 public static Connection hconn = null;
 public static Statement hstmt = null; 
 public static PreparedStatement pst = null;
public static void hConnectDb(){

try{
    Class.forName("org.sqlite.JDBC");
    ClassLoader classLoader =   Thread.currentThread().getContextClassLoader();
    URL resource = classLoader.getResource("PS/PSDB.sqlite");
    hconn = DriverManager.getConnection("jdbc:sqlite::resource:"+resource);
}
catch(Exception se){
  //Handle errors for JDBC
  se.printStackTrace();
}



}
}
使用该数据库的主类

private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
    try{
        hConnectDb();
        String sql1 = "Insert into Bill (billNo,date,principal,principalText,custId,dueDate) values (?,?,?,?,?,?)";
        pst = hconn.prepareStatement(sql1);
        pst.setString(1,BillNoField.getText());
        pst.setString(2,dateField1.getText());
        pst.setString(3,PrincipalField.getText());
        pst.setString(4,PrincipaTextField.getText());
        pst.setString(5,custIdField.getText());
        pst.setString(6,dueDateField.getText());
        pst.executeUpdate();
        pst.close();
        hconn.close();
        JOptionPane.showMessageDialog(null, "saved");
    }
    catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
}  

根据的文档,以“jdbc:sqlite::resource:”开头的连接URL字符串用于加载只读sqlite数据库:

2009年5月19日:sqlite-jdbc-3.6.14.1发布

  • 此版本支持“jdbc:sqlite::resource:”语法来访问JAR归档文件中包含的只读DB文件,或通过URL、本地文件地址等指定的外部资源(另请参阅
您需要包含SQLite数据库。在Windows上,示例如下:

Connection connection = DriverManager.getConnection("jdbc:sqlite:C:/work/mydatabase.db");
Connection connection = DriverManager.getConnection("jdbc:sqlite:/home/leo/work/mydatabase.db");
在类UNIX系统上,一个示例是:

Connection connection = DriverManager.getConnection("jdbc:sqlite:C:/work/mydatabase.db");
Connection connection = DriverManager.getConnection("jdbc:sqlite:/home/leo/work/mydatabase.db");

根据的文档,以“jdbc:sqlite::resource:”开头的连接URL字符串用于加载只读sqlite数据库:

2009年5月19日:sqlite-jdbc-3.6.14.1发布

  • 此版本支持“jdbc:sqlite::resource:”语法来访问JAR归档文件中包含的只读DB文件,或通过URL、本地文件地址等指定的外部资源(另请参阅
您需要包含SQLite数据库。在Windows上,示例如下:

Connection connection = DriverManager.getConnection("jdbc:sqlite:C:/work/mydatabase.db");
Connection connection = DriverManager.getConnection("jdbc:sqlite:/home/leo/work/mydatabase.db");
在类UNIX系统上,一个示例是:

Connection connection = DriverManager.getConnection("jdbc:sqlite:C:/work/mydatabase.db");
Connection connection = DriverManager.getConnection("jdbc:sqlite:/home/leo/work/mydatabase.db");