• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

c# dodawanie danych do bazy danych

VPS Starter Arubacloud
0 głosów
2,435 wizyt
pytanie zadane 18 lutego 2017 w C# przez Rout Bywalec (2,350 p.)

Witam,

Mam program który korzysta z bazy danych. Ma ona jedną tabelę i chce w tej tabeli zapisywać dane. Robię to w ten sposób: 

 public void AddData(string CompanyName,string Name, string Surtname, string Street, string ZipCode, string City)
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand cmd = new SqlCommand("INSERT INTO Contact (CompanyName, Name, Surname, Street, ZipCode, City ) VALUES (@CompanyName, @Name, @Surname, @Street, @ZipCode, @City)");
                cmd.CommandType = CommandType.Text;
                cmd.Connection = connection;
                cmd.Parameters.AddWithValue("@CompanyName", CompanyName);
                cmd.Parameters.AddWithValue("@Name", Name);
                cmd.Parameters.AddWithValue("@Surname", Surtname);
                cmd.Parameters.AddWithValue("@Street", Street);
                cmd.Parameters.AddWithValue("@ZipCode", ZipCode);
                cmd.Parameters.AddWithValue("@City",City);
                connection.Open();
                cmd.ExecuteNonQuery();
            }
        }


Żaden błąd się nie pojawia, a gdy wyłączę program to baza danych jak była pusta tak jest nadal. Czy robię coś źle ? 

 


Pozdrawiam Rout

komentarz 18 lutego 2017 przez Rout Bywalec (2,350 p.)
Może brakuje tam jakiegoś save ?

1 odpowiedź

0 głosów
odpowiedź 19 lutego 2017 przez Bartłomiej Łaski Mądrala (5,100 p.)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SQLite;
using System.Windows;

namespace SimpleDatabasePersons
{
    public static class SimpleDatabase
    {
        public static void AddPerson(string name, string surname, string data, string pathImage)
        {
            //MessageBox.Show("INSERT INTO People(NAME, SURNAME, DATA_UR, IMAGE) values ('" + name + "','" + surname + "','" + data + "','" + pathImage + "')");

            SQLiteConnection cn = new SQLiteConnection("data source=Person.db3");
            SQLiteCommand cmd = new SQLiteCommand(cn);
            cn.Open();
            cmd.CommandText = "INSERT INTO People(NAME, SURNAME, DATA_UR, IMAGE) values ('" + name + "','" + surname + "','" + data + "','" + pathImage + "')";
            cmd.ExecuteNonQuery();
            cn.Close();
        }

        public static void UpdatePerson(string id, string name, string surname, string data, string pathImage)
        {
            SQLiteConnection cn = new SQLiteConnection("data source=Person.db3");
            SQLiteCommand cmd = new SQLiteCommand(cn);

            cn.Open();
            cmd.CommandText = "UPDATE People SET NAME = " + name + ", SURNAME = " + surname + ", DATA = " + data + ", IMAGE = " + pathImage + " WHERE ID = " + id;
            cmd.ExecuteNonQuery();
            cn.Close();
        }

        public static void DeletePerson(string id)
        {
            SQLiteConnection cn = new SQLiteConnection("data source=Person.db3");
            SQLiteCommand cmd = new SQLiteCommand(cn);

            cn.Open();
            cmd.CommandText = "DELETE FROM People WHERE ID = " + id;
            cmd.ExecuteNonQuery();
            cn.Close();
        }
    }
}

 

Moj kod na dodawanie i usuwanie elementow z bazy danych :). Te dwie opcje działaja na 100% poniewaz je testowale, modyfikacji jeszcze nie bo zajalem sie innym projektem.

Pozdrawiam : )

 

1
komentarz 28 lutego 2017 przez adrian17 Ekspert (349,240 p.)
Silnie sugeruję użycie nazywanych parametrów (`cmd.Parameters.Add`) zamiast ręcznego komponowania stringa z zapytaniem.
komentarz 28 lutego 2017 przez Bartłomiej Łaski Mądrala (5,100 p.)
Masz racje :), to jest pierwszy kod jaki pisalem jeżeli chodzi o SQLite :). Dzisiaj bym troche inaczej go napisal by był bardziej uniwersjalny.

Podobne pytania

0 głosów
1 odpowiedź 1,005 wizyt
0 głosów
1 odpowiedź 215 wizyt
0 głosów
3 odpowiedzi 1,232 wizyt
pytanie zadane 7 lipca 2015 w PHP przez Mateusz Analityk Stary wyjadacz (13,710 p.)

92,963 zapytań

141,928 odpowiedzi

321,161 komentarzy

62,297 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...