Domanda

Ho usato SQLite nelle mie applicazioni Java e C#, facendo uso del System.data.sqlite biblioteca per c# e il Driver Zentus sqlitejdbc per Java.

Ho notato che l'implementazione Java consente l'uso delle librerie SQL prontamente disponibili che sono incluse nell'installazione di Java predefinite mentre l'implementazione C# deve utilizzare versioni SQLite specifiche dell'equivalente C#.

Esempio:

C#

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

float[] _data;

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

Giava

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

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

Questo dipende dal modo in cui i database SQL sono utilizzati nelle lingue o è dovuto alle implementazioni delle biblioteche, sono interessato a saperne di più sui dettagli che portano al loro utilizzo.

È stato utile?

Soluzione

credo che Connection, PreparedStatement, e ResultSet sono tutte interfacce, credo. Potresti fare la stessa cosa in C# con IDbConnection, IDbCommand e IDataReader Invece delle implementazioni concrete di SQLite.

Altri suggerimenti

L'implementazione di Java consente l'uso delle librerie SQL prontamente disponibili che sono incluse con l'installazione di Java predefinita, ma la stringa di connessione differisce e è necessario importare driver (JAR) diversi per diversi tipi di database.

Quindi, se posso dire, Java ha fornito un wrapper fintanto che i driver JDBC sono scritti per un database che si desidera utilizzare con Java.

Puoi scrivere quanto segue in C#:

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

float[] _data;

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

L'unica cosa che differisce è che in Java c'è una classe helper DriverManager.

Nota: l'interfaccia DataSource, nuova nell'API JDBC 2.0, fornisce un altro modo per connettersi a un'origine dati. L'uso di un oggetto DataSource è il mezzo preferito per connettersi a un'origine dati.

Se usi DataSource, che è il modo preferito di ottenere una connessione, secondo il DriverManager Documentazione, dovrai anche chiamare il costruttore specifico dell'implementazione SQLite.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top