logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Aplikacja bazodanowa - Visual Studio C++ od podstaw - pomocy

Bynio22 23 Gru 2010 21:31 6709 7
REKLAMA
  • #1 8906098
    Bynio22
    Poziom 13  
    Posty: 140
    Pomógł: 1
    Ocena: 10
    Witam. Muszę zrobić projekt aplikacji bazodanowej w Visual Studio. Dawniej miałem styczność z programem Borland Builder C++. Z językiem C++ miałem już styczność więc w tym języku również zamierzam napisać, oczywiście przy Waszej pomocy :D, aplikację bazodanową. Może ona współpracować z bazą na SQL server lub na bazie zapisanej w pliku. Ja w tym przykładzie próbowałem na SQL server 2005. Aplikacja ma ona mniej więcej wyglądać tak: W oknie głównym ma znajdować się tabela (GRID) oraz cztery przyciski "DODAJ","EDYTUJ","USUŃ","ZAKOŃCZ". Po naciśnięciu "DODAJ" lub "EDYTUJ" ma się pojawić drugie okno w formie formularza w którym można wpisywać/zmieniać dane. Na tym formularzu mają się znajdować dwa przyciski "OK" zatwierdzający zmiany i "ANULUJ" odrzucający zmiany. Po naciśnięciu "USUŃ" wiadomo ma zostać usunięty wskazany wiersz.
    Aplikacja bazodanowa - Visual Studio C++ od podstaw - pomocy Aplikacja bazodanowa - Visual Studio C++ od podstaw - pomocy
    Troszkę zacząłem sam kombinować ale mi to za bardzo nie wychodzi. Używam Microsoft Visual Studio .NET C++ 2003, posiadam również Visual Studio 2010 w wersji trial, ale 2010 nie ogarniam. W swoim projekcie dokonałem połączenie tej aplikacji z bazą danych używając OleDbConnection, OleDbDataAdapter, DataSet i wyświetleniem tego na DataGrid. Próbowałem z update ale nie wiem dlaczego to nie działa, zresztą sami spójrzcie.
    Plik Form1.h
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Plik Form1.cpp
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Oprócz tego mam również problemy z wyświetleniem drugiego okna formularza, do Form1 w pliku .cpp dodałem #include "Form2.h" lecz to nie pomaga. Nie mam pojęcia jak skomunikować formularz z dataset tak aby później te zmiany można nanieść na źródłową bazę danych.Proszę o pomoc, ale nie taką zrób tak czy tak tylko pomoc z wytłumaczeniem łopatologicznym, z podanym kodem, czyli taką dla początkującego programisty :D Tylko nie mówcie że w goole tego pełno, fakt jest tego sporo ale dla języków Basic oraz C# ale nie dla C++. Z góry dzięki za wszelką pomoc.
  • REKLAMA
  • Pomocny post
    #2 8917164
    maciej1234
    Poziom 11  
    Posty: 24
    Pomógł: 2
    Ocena: 5
    Powitać jak kolega chce to załączam plik z moim przykładowym programem też w VS C++ opartym na MS SQL 2005 moze uda się wychwycić podstawowe funkcje. Pozdrawiam ;)
    Załączniki:
    • SerwisSql.h (28.76 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #3 8917231
    several
    Poziom 15  
    Posty: 140
    Pomógł: 14
    Ocena: 1
    No ale na co kolega autor liczy? Że ktoś weźmie się za debugowanie 200 wierszy cudzego kodu? Microsoft dostarczył jedno z oporniejszych narzędzi do projektowania aplikacji okienkowych dla C++ jakie znam. Koniecznie musisz w tym syfie pracować?
  • REKLAMA
  • #4 8937008
    Bynio22
    Poziom 13  
    Posty: 140
    Pomógł: 1
    Ocena: 10
    Wielkie dzięki maciej1234. Wykorzystałem Twój programik, przerobiłem go i dostosowałem do swoich potrzeb, dodałem takie elementy jak sortowanie oraz buttony typu "zakończ". Świetnie rozwiązałeś ten problem, ten program jest jeszcze lepszy niż to co ja prezentowałem, gdyż tu jest wszystko na wierzchu i nie potrzeba dodatkowych okienek. Pełen szacunek z mojej strony :D Nie do końca jeszcze wiem jak on pobiera nr_id po najechaniu kursorem ale jeszcze mam czas żeby to przeanalizować. Na początku miałem problemy ze skompilowaniem tego pliku, gdyż korzystałem z Visual Studio 2003 i cały czas otrzymywałem komunikat "undefined" wszystko związane z "binding...", nie trawiło mi też zapisu znaku "^" musiałem zmieniać na "*". Wszystko później jednak ruszył gdy przesiadłem się na VS 2010 :D
  • #5 8943088
    Bynio22
    Poziom 13  
    Posty: 140
    Pomógł: 1
    Ocena: 10
    Napotkałem kolejny problem, mianowicie tworzę wyszukiwarkę. Moja baza jest bazą samochodów. Mam tu m.in. marka,model,rocznik, itp. Moje zapytani SQL wygląda tak:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    gdzie @marka3, @Model3,... to ciąg znaków z TextBox.
    Składnia jest poprawna ale jest problem tego typu, że Gdy wszystkie pola wypełnię to znajdzie to czego szukam, ale gdy nie uzupełnię, któregoś z pól po prostu mam pustą tabelę gdyż żaden z rekordów tabeli nie spełnia warunków tego zapytania. Kombinowałem z
    Kod: SQL
    Zaloguj się, aby zobaczyć kod
    działa tylko jak teraz sprawić by jeżeli TextBox jest pusty w to miejsce było wstawiane LIKE '%'. Macie jakiś pomysł jak to wykonać? Czy macie całkowicie inną koncepcję?
  • #6 8945246
    Bynio22
    Poziom 13  
    Posty: 140
    Pomógł: 1
    Ocena: 10
    Jak jeden problem rozwiążę to się pojawia drugi. Poprzedni problem rozwiązałem tak:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    A sprawdzanie czy TextBox jest pusty tak:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Jednak przy roczniku jest znów problem, mianowicie dla rocznika mile widziany jest pewien przedział "od .... do ....". I tu się znów komplikuje, przecież klauzula "LIKE" nie operuje na znakach "<=" i ">=" a te są niezbędne do tego.
  • REKLAMA
  • #7 8949173
    Bynio22
    Poziom 13  
    Posty: 140
    Pomógł: 1
    Ocena: 10
    Mam pewien pomysł jak to rozwiązać tylko jest jeden problem, mianowicie przeszkadzają mi apostrofy na początku i końcu łańcucha znaków. Czy w C++ istnieje jakaś instrukcja usuwająca apostrofy na początku i końcu łańcucha? Jeżeli tak to jaka i jaka do niej potrzebna jest biblioteka, chodzi mi o #include dla VS 2010? Znalazłem dla innych języków ale dla C++ niestety nie.
  • #8 9271660
    Bynio22
    Poziom 13  
    Posty: 140
    Pomógł: 1
    Ocena: 10
    Już dawno miałem zamieścić kompletny kod programu (może się komuś przyda), realizującego założone operacje, ale zawsze brakowało mi czasu :D
    Aplikacja wygląda tak:
    Aplikacja bazodanowa - Visual Studio C++ od podstaw - pomocy
    Markę oraz model wybiera się z rozwijanej listy, natomiast pozostałe parametry takie jak przebieg, pojemność, rok i cenę wpisuje się z klawiatury. Lista marek i odpowiadającym im model są pobierane z bazy, umieszczonej razem z całą bazą samochodów. Aplikacja działa poprawnie, nie stwierdziłem żadnych błędów. Aplikacja daje możliwość dodawania, usuwania, edycji jak i wyszukiwania określonych pozycji w bazie. Jedynym minusem jest nie do końca poprawny kod odpowiadający za wyszukiwanie samochodów po roczniku, przebiegu, pojemności i cenie, aczkolwiek działa świetnie ;)
    Załączniki:
    • Form1.h (49.09 KB) Musisz być zalogowany, aby pobrać ten załącznik.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik poszukuje pomocy w stworzeniu aplikacji bazodanowej w Visual Studio C++, która ma współpracować z SQL Server 2005. Aplikacja ma zawierać tabelę (GRID) oraz przyciski do dodawania, edytowania, usuwania i kończenia operacji. W odpowiedziach użytkownicy dzielą się przykładami kodu oraz rozwiązaniami problemów, takich jak implementacja wyszukiwarki w bazie danych samochodów. Użytkownik napotkał trudności z zapytaniami SQL, szczególnie przy obsłudze pustych pól w formularzach oraz przy używaniu klauzuli LIKE. Ostatecznie, po przesiadce na Visual Studio 2010, udało mu się dostosować kod do swoich potrzeb, w tym dodanie sortowania i poprawienie błędów związanych z kompilacją.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA