Connessione al DataBase SQLite3 in C#

di il
5 risposte

Connessione al DataBase SQLite3 in C#

Buongiorno a tutti.

In C# sto creando un progetto che si deve connettere al database SQLite3. Il codice che ho creato pero non si connette, mi da errore a questa riga:

DB.Fill(DS); // Stringa non riconosciuta come valore DateTime valido.'

Come correggo l'errore?
using System.Data.SQLite;

namespace Campionati_calcio2021_22
{
    public partial class Form1 : Form
    {        
        public Form1()
        {
            InitializeComponent();
        }

        private SQLiteConnection sql_con;
        private SQLiteCommand sql_cmd;
        private SQLiteDataAdapter DB;
        private DataSet DS = new DataSet();
        private DataTable DT = new DataTable();

        private void Form1_Load(object sender, EventArgs e)
        {
            LoadData();
        }
        
        // Set connection

        private void SetConnection()
        {
            sql_con = new SQLiteConnection("Data Source = c:\\Users\\franc\\source\\repos\\Campionati_calcio2021_22\\bin\\Debug\\Serie_A_21-22.db; Version = 3;");
            //sql_con = new SQLiteConnection("Data Source=Serie_A_21-22.db;Version=3;New=False;Compress=True;");
        }

        // Set executequery

        private void ExecuteQuery(string txtQuery)
        {
            SetConnection();
            sql_con.Open();
            sql_cmd = sql_con.CreateCommand();
            sql_cmd.CommandText = txtQuery;
            sql_cmd.ExecuteNonQuery();
            sql_con.Close();
        }

        // Set Load DataBase

        private void LoadData()
        {
            SetConnection();
            sql_con.Open();
            sql_cmd = sql_con.CreateCommand();
            string ComandText = "SELECT * From Giornate_And";
            DB = new SQLiteDataAdapter(ComandText, sql_con);
            DS.Reset();
            DB.Fill(DS);
            DT = DS.Tables[0];
            dataGridView1.DataSource = DT;
            sql_con.Close();
        }

        private void Aggiungi_Btn_Click(object sender, EventArgs e)
        {

        }
    }
}

5 Risposte

  • Re: Connessione al DataBase SQLite3 in C#

    Prova a vedere se il formato della stringa che passi come DateTime è corretto:
    https://www.sqlite.org/datatype3.htm
    https://www.sqlite.org/lang_datefunc.htm
  • Re: Connessione al DataBase SQLite3 in C#

    Grazie gian82, problema risolto. Il problema era nel database. Nella colonna Data avevo messo il formato 13/11/2021. L'ho corretta il questo modo: 2021-11-13. Adesso non da più errore.

    Adesso il problema è un altro. Quando avvio il debug, nella DataGridView1 appaiono solo le 190 righe vuote, senza dati. Come Mai? Il problema è sempre il database?

    EDIT:

    RISOLTO.
  • Re: Connessione al DataBase SQLite3 in C#

    Ciao bytebit74,
    una domanda: ho iniziato ad usare anche io System.Data.SQLite (usato pacchetto nuget, vedi immagine in fondo al post).

    Tu dove fai riferimento per le API ?
    Per esempio: sappiamo che esiste il metodo CreateCommand.
    Ecco, su quale sito fai riferimento ?

    Io utilizzo questo LINK, ma non sono sicuro se è corretto per il pacchetto che ho installato per la mia app:

  • Re: Connessione al DataBase SQLite3 in C#

    Ciao. Da NuGet devi prima installare: SQLite di SQLite Development Team. Da NuGet vai in sfoglia e scrivi: SQLite e lo installi.
    Poi in Visual Studio vai nel menù Compilazione e clicchi su Compila soluzione. Facendo questo passaggio nella cartella bin/Debug ti crea 2 cartelle che contengono le dll. poi nella cartella bin/Debug ti crea dei file.....
  • Re: Connessione al DataBase SQLite3 in C#

    Scusami, ma io chiedevo le API.. la documentazione a cui si deve far riferimento per usare SQLite
Devi accedere o registrarti per scrivere nel forum
5 risposte