【问题标题】:SQLite implementations in Java and C#Java 和 C# 中的 SQLite 实现
【发布时间】:2011-08-19 19:49:10
【问题描述】:

我一直在我的 Java 和 C# 应用程序中使用 SQLite,在 C# 中使用 System.Data.SQLite 库,在 Java 中使用 Zentus SQLiteJDBC Driver

我注意到 Java 实现允许使用默认 Java 安装中包含的现成 SQL 库,而 C# 实现必须使用 C# 等效的特定 SQLite 版本。

示例:

C#

SQLiteConnection connection = null;
SQLiteCommand command = null;
SQLiteDataReader dReader = null;

float[] _data;

try
{
    connection = new SQLiteConnection(_connectionString);
    connection.Open();

Java

Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
float _data[];

try
{
    connection = DriverManager.getConnection(_connectionString);
    Statement st = connection.createStatement();

这取决于 SQL 数据库在语言中的使用方式,还是由于库的实现,我有兴趣了解更多关于导致它们使用的细节。

【问题讨论】:

    标签: c# java sqlite system.data.sqlite sqlitejdbc


    【解决方案1】:

    您可以在 C# 中编写以下代码:

    IDbConnection connection = null;
    IDbCommand command = null;
    IDataReader dReader = null;
    
    float[] _data;
    
    try
    {
        connection = new SQLiteConnection(_connectionString);
        connection.Open();
    

    唯一不同的是在 Java 中有一个辅助类 DriverManager

    注意:JDBC 2.0 API 中新增的 DataSource 接口提供了另一种连接数据源的方法。使用 DataSource 对象是连接到数据源的首选方式。

    如果您使用DataSource,这是获取连接的首选方式,根据DriverManager 文档,您还需要调用SQLite 实现的特定构造函数。

    【讨论】:

      【解决方案2】:

      Java 实现允许使用默认 Java 安装中包含的现成 SQL 库,但连接字符串确实不同,您需要为不同类型的数据库导入不同的驱动程序 (jar)。

      因此,如果我可以说,只要 JDBC 驱动程序是为您想与 java 一起使用的数据库编写的,Java 就提供了一个包装器。

      【讨论】:

        【解决方案3】:

        我相信ConnectionPreparedStatementResultSet都是接口,我相信。您可以在 C# 中使用 IDbConnectionIDbCommandIDataReader 做同样的事情,而不是具体的 SQLite 实现。

        【讨论】:

        • 感谢您提供信息,这两种语言实现之间是否有任何好处,或者它们在性能等方面实际上是否相同?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-30
        • 1970-01-01
        • 1970-01-01
        • 2011-09-04
        相关资源
        最近更新 更多