Visual C++ i SQL Server, Jak to zrobić |
Visual C++ i SQL Server, Jak to zrobić |
17.12.2004, 14:36:07
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 17.12.2004 Ostrzeżenie: (0%) |
Być może jest to proste ale jestem początkujący i nie mogę sobie z tym
poradzić. W Visual C++ zrobiłem aplikację do odczytu i wpisywania nowych rekordów do bazy na SQL Server 2000. Tabela w SQL Server nazywa się Dane i zawiera 3 pola: ID z auto inkrementacją, nazwisko i imię. Te 3 pola są odwzorowane w mojej aplikacji. Wszystko odbywa się przez ODBC. Tabela czyta się pięknie. W aplikacji mam możliwość przeglądania i poprawiania rekordów, lecz kiedy próbuję dodać nowy dostaję komunikat: Cannot insert explicit value for identity column in table 'Dane' when IDENTITY_INSERT is set to OFF. Piszę więc skrypt:" set identity_insert [dbo].[Dane] on "i ... nie działa. Jakie jest rozwiązanie? Może coś źle robię. Pomocy Tomek |
|
|
20.12.2004, 11:43:25
Post
#2
|
|
Grupa: Zarejestrowani Postów: 232 Pomógł: 1 Dołączył: 11.03.2003 Ostrzeżenie: (20%) |
Może pokażesz jak dodajesz nowy rekord w bazie?
Ponieważ pisząć SET widzę, że może modyfikujesz pozdr |
|
|
22.12.2004, 21:48:16
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 17.12.2004 Ostrzeżenie: (0%) |
Żeby dodać nowy rekord wpisałem tylko metodę w Visual C++. Tzn Pobrałem tylko numer ostatniego rekordu Dane. Czyli robię to w następujący sposób
long Nowy = m_pSet->OstatniID()+1; OstatniID to metoda która zwraca ostatni rekord, następnie robię m_pSet->AddNew(); m_pSet->m_IDAdresu = Nowy;w tym miejscu ustawia identyfikator w nowym rekordzie - podejrzewam że tu jest błąd ale nie znam innej metody na dodawanie rekordu, dalej jest: m_pSet->Update(); m_pSet->Requery(); m_pSet->MoveLast(); UpdateData(FALSE); Będę wdzięczny za każde sugestie Tomek |
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 06:24 |