Implementazioni SQLite in Java e C#
-
29-10-2019 - |
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.
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.