C# Form SQLite utasítások

C# Form SQLite utasítások
2019-04-01T13:59:09+02:00
2019-04-01T19:31:39+02:00
2022-12-05T21:25:40+01:00
Petibb
Sziasztok!

Szeretném a segítségeteket kérni az alábbi problémámban. Neten tanulgatom a C# form használatát és eljutottam oda, hogy SQLite-tal biztosítok hozzá adatbázist. Itt kezdődtek a problémák, hogy amiket találtam mintafeladatokat nemigazán értem, hogy azok mit jelentenek. A create table, update, select az megy, de a többi sajnos fehér folt és nagyon rákeresgélve sem találtam olyan helyet ahol leírná vagy elmondanák, hogy na ez az utasítást ezt csinálja. 
Kérhetném ebben valamelyikőtök segítségét, hogy a belinkelt programkód megfelelő részeihez ahova ??? jeleket tettem 1 mondatban odaírnátok hogy az mire is jó mit csinál?

A program lényegében semmi másról nem szól mint hogy van egy datagridview amiben megjelennek az adatbázisba felvitt adatok illetve van 2 beviteli mező és 3 gomb (bevitel, módosítás, törlés).
Amiket nemigen értek ezek a Command, meg Dataadapter meg ExecutenonQuery kifejezések hogy mit csinálnak.

Nagyon köszönöm előre is a segítségeteket:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SQLite;
namespace sqlitefeladat
{
    public partial class Form1 : Form

    {
        public Form1()
        {
            InitializeComponent();
            loaddata();
        }

        private SQLiteConnection sqlite_con;   ??????
        private SQLiteCommand sqlite_cmd;   ??????
        private SQLiteDataAdapter DB;   ??????
        private DataSet DS = new DataSet();   ??????
        private DataTable DT = new DataTable();   ??????


        private void kapcsolat()
        {
           sqlite_con = new SQLiteConnection("Data Source=adatbazis.db;Version=3;New=False;Compress=True;");
        }

      private void Executequery(string txtQuery)  ??????

        {
            kapcsolat();
            sqlite_con.Open();
            sqlite_cmd = sqlite_con.CreateCommand();  ??????
            sqlite_cmd.CommandText = txtQuery;  ??????
            sqlite_cmd.ExecuteNonQuery();   ??????
            sqlite_con.Close();
        }

            private void loaddata()
        {
            kapcsolat();
            sqlite_con.Open();
            sqlite_cmd = sqlite_con.CreateCommand();   ??????
            string Commandtext = "select * from adattabla";   
            DB = new SQLiteDataAdapter(Commandtext,sqlite_con);  ??????
            DS.Reset();  ??????
            DB.Fill(DS);  ??????
            DT = DS.Tables[0];  ??????
            dataGridView1.DataSource = DT;  ??????
            sqlite_con.Close();
        }


        private void button1_Click(object sender, EventArgs e)

        {
            string txtQuery = "Insert into adattabla (nev,jelszo) values('"+textBox1.Text+"','"+textBox2.Text+"')";
            Executequery(txtQuery); ??????
            loaddata();
        }

         private void button2_Click(object sender, EventArgs e)
        {
            string txtQuery = "update adattabla set nev='"+textBox1.Text+"' where jelszo='"+textBox2.Text+"'";
            Executequery(txtQuery);
            loaddata();
        }

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
           textBox1.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
            textBox2.Text = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            string txtQuery = "delete from adattabla where nev='" + textBox1.Text + "'";
            Executequery(txtQuery);
            loaddata();
        }
    }
}
Mutasd a teljes hozzászólást!
Csatolt állomány

  • Hali!

    Használd a forráskód-gombot (a szerkesztő-mező felett, balról a harmadik: </>), ha forráskódot illesztesz be.

    Mutasd a teljes hozzászólást!
  • Köszi. Akkor itt beillesztem:

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SQLite; namespace sqlitefeladat { public partial class Form1 : Form { public Form1() { InitializeComponent(); loaddata(); } private SQLiteConnection sqlite_con; ?????? private SQLiteCommand sqlite_cmd; ?????? private SQLiteDataAdapter DB; ?????? private DataSet DS = new DataSet(); ?????? private DataTable DT = new DataTable(); ?????? private void kapcsolat() { sqlite_con = new SQLiteConnection("Data Source=adatbazis.db;Version=3;New=False;Compress=True;"); } private void Executequery(string txtQuery) ?????? { kapcsolat(); sqlite_con.Open(); sqlite_cmd = sqlite_con.CreateCommand(); ?????? sqlite_cmd.CommandText = txtQuery; ?????? sqlite_cmd.ExecuteNonQuery(); ?????? sqlite_con.Close(); } private void loaddata() { kapcsolat(); sqlite_con.Open(); sqlite_cmd = sqlite_con.CreateCommand(); ?????? string Commandtext = "select * from adattabla"; DB = new SQLiteDataAdapter(Commandtext,sqlite_con); ?????? DS.Reset(); ?????? DB.Fill(DS); ?????? DT = DS.Tables[0]; ?????? dataGridView1.DataSource = DT; ?????? sqlite_con.Close(); } private void button1_Click(object sender, EventArgs e) { string txtQuery = "Insert into adattabla (nev,jelszo) values('"+textBox1.Text+"','"+textBox2.Text+"')"; Executequery(txtQuery); ?????? loaddata(); } private void button2_Click(object sender, EventArgs e) { string txtQuery = "update adattabla set nev='"+textBox1.Text+"' where jelszo='"+textBox2.Text+"'"; Executequery(txtQuery); loaddata(); } private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { textBox1.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString(); textBox2.Text = dataGridView1.SelectedRows[0].Cells[1].Value.ToString(); } private void button3_Click(object sender, EventArgs e) { string txtQuery = "delete from adattabla where nev='" + textBox1.Text + "'"; Executequery(txtQuery); loaddata(); } } }
    Mutasd a teljes hozzászólást!
  • Helló!

    Erről nehéz pár mondatban értekezni.

    Amire szükséged van, az egy ADO.NET tutorial, ez részletesen elmagyarázza a koncepciót.

    ADO.NET Tutorial - C# Station

    Az elv ugyanaz MSSQL, MySQL, SQLite adatbázisoknál is, legfeljebb az objektumok nevei különböznek némileg (SqlConnection, MySqlConnection stb.)
    Mutasd a teljes hozzászólást!
  • Köszönöm megnézem.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd