![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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 |
|
|
![]()
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: 24.07.2025 - 16:34 |