Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21942

Uzupelnianie danych z MDF - Visual Studio

$
0
0

Witam,

 

jestem w trakcie robienia amatorskiego programu. Baze danych mam w MDF i glownie wyciagam dane z nich za pomoca sqlReader. W trakcie pracy znalazlem taki o to sposob na wyciaganie danych i wrzucanie od razu do listbox, gridView itd.

http://screenshot.sh/oAfiNSerb8gxj

Pytani moje brzmi czy taki sposob jest okay czy raczej unikac i lepiej 'recznie' w kodzie to zapisac?

Wczesniej robilem to w taki sposob:

SqlEasierCommands sqlCmd = new SqlEasierCommands(conDB);
            SqlDataReader reader = sqlCmd.GetExecutedReader("SELECT Name FROM Attributes ORDER BY Position ASC");

            new FillerValuesBox().FillListBox(checkedListBox1, new SqlReaderToListConverter().getListFromReader(reader));



/////////////////////////////////////////////////wrzucam klase jezeli sie przyda
 class FillerValuesBox
    {

        public void FillCheckedListBox(CheckedListBox box, List<string> list, List<string> listToBeChecked)
        {
            box.BeginUpdate();

            foreach (string item in list)
            {
                if (listToBeChecked.Contains(item))
                    box.Items.Add(item, true);
                else
                    box.Items.Add(item);

            }

            box.EndUpdate();
        }

        public void FillListBox(ListBox box, List<string> list)
        {
            box.BeginUpdate();

            foreach (string item in list)
                box.Items.Add(item);

            box.EndUpdate();
        }

    }


Na pewno duzo latwiej i szybciej jest sobie kliknac tak jak na screenie i juz mam gotowe. Problem pojawia sie gdy, robie za pomoca executeNonQuery jakis update do bazy danych. Nie wiem jak odswiezyc dane wtedy w tych listboxach (sposob jak na screenie). Poradzilem sobie w taki sposob - implementujac taki kod po nacisnieciu przycisk Zatwierdz/ Wyslij (executeNonQuery) :

 

SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("SELECT * FROM Attributes ORDER BY Position", conDB);

DataTable dataTable = new DataTable();

sqlDataAdapter.Fill(dataTable);

attributesBindingSource.DataSource = dataTable;

 

Sposob ten jest wg mnie troche bez sensu, bo robie tak jakby drugie DataTable. Prosilbym o rady jak sobie radzic z takimi problemami


Viewing all articles
Browse latest Browse all 21942