2

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

我注意到 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();

爪哇

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

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

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

4

3 回答 3

3

我相信Connection,PreparedStatementResultSet都是接口,我相信。您可以在 C# 中使用IDbConnection,IDbCommandIDataReader不是具体的 SQLite 实现来做同样的事情。

于 2011-05-06T00:46:23.720 回答
0

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

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

于 2011-05-06T00:49:46.510 回答
0

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

IDbConnection connection = null;
IDbCommand command = null;
IDataReader dReader = null;

float[] _data;

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

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

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

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

于 2011-05-06T01:04:50.770 回答