Avatar billede BenedikteJ Nybegynder
07. juni 2011 - 21:52 Der er 1 kommentar og
1 løsning

Indsætte data i SQLite database vha. ADO.NET i C#

Jeg har et lille bitte program der består af en Windows form med 4 textboxe hvor brugeren skal kunne skrive data (int og strings) ind i og når brugeren trykker gem, skal den data så puttes ind i en eksisterende tabel i en SQLite database, der er adgang til gennem ADO.NET.

Men jeg kan ikke lige få skrevet det rigtige i min gemknap, så nogle der er erfaren i det?
Det skulle gerne være meget simpelt, men jeg kan bare ikke lige få det til at funke, og det er lidt en hastesag..

Min kode ser således ud:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace OmegaEditor
{
    public partial class Editor : Form
    {
        OmegaEditor.DbOmegaEntities db = new DbOmegaEntities();

        public Editor()
        {
            InitializeComponent();

            txtGradFork.Text = "Sværhedsgrader: \r\n\r\n1: Let \r\n2: Middel \r\n3: Svær";
            txtTypeFork.Text = "Opgavetyper: \r\n\r\n1: Plus stykker \r\n2: Minus stykker \r\n3: Gange stykker";
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            tbl_matematik nyOpgave = new tbl_matematik();
            nyOpgave.fld_opgave = txtOpgave.Text;
            nyOpgave.fld_svar = int.Parse(txtSvar.Text);
            nyOpgave.fld_grad = int.Parse(txtGrad.Text); ;
            nyOpgave.fld_type = int.Parse(txtType.Text);
        }
    }
}
Avatar billede arne_v Ekspert
07. juni 2011 - 22:02 #1
ADO.NET er ADO.NET saa en SQLiteConnection, SQLiteCommand and INSERT command should do it.
Avatar billede BenedikteJ Nybegynder
09. juni 2011 - 12:35 #2
Det endte med dette, hvilket virker:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace OmegaEditor
{
    public partial class Editor : Form
    {
        OmegaEditor.DbOmegaEntities db = new DbOmegaEntities();
        private int antalOpgaver;

        public Editor()
        {
            InitializeComponent();

            var hentQuest = from f in db.tbl_matematik select f;
            List<tbl_matematik> opgaveListe = hentQuest.ToList();
            antalOpgaver = opgaveListe.Count();

            txtGradFork.Text = "Sværhedsgrader: \r\n\r\n1: Let \r\n2: Middel \r\n3: Svær";
            txtTypeFork.Text = "Opgavetyper: \r\n\r\n1: Plus stykker \r\n2: Minus stykker \r\n3: Gange stykker";
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            if (txtGrad.Text != "" && txtSvar.Text != "" && txtType.Text != "" && txtOpgave.Text != "")
            {
                tbl_matematik nyOpgave = new tbl_matematik();
                nyOpgave.fld_id = antalOpgaver + 2;
                nyOpgave.fld_opgave = txtOpgave.Text;
                nyOpgave.fld_svar = int.Parse(txtSvar.Text);
                nyOpgave.fld_grad = int.Parse(txtGrad.Text); ;
                nyOpgave.fld_type = int.Parse(txtType.Text);

                db.AddTotbl_matematik(nyOpgave);
                db.SaveChanges();
                db.Refresh(System.Data.Objects.RefreshMode.ClientWins, nyOpgave);

                lblSvar.Text = "Opgaven blev oprettet!";

                Application.Restart();
             
            }
            else
            {
                lblSvar.Text = "Husk at udfylde alle felter.";
            }
        }
    }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester