/ / Jak wstawić rekord z kluczem podstawowym w bazie danych dostępu ms c # - c #, winforms, ms-access, oledb

Jak wstawić rekord z kluczem podstawowym w bazie danych dostępu ms c # - c #, winforms, ms-access, oledb

Używam następującego polecenia do wstawiania rekordu do bazy danych MS Access:

OleDbCommand cmd = new OleDbCommand("insert into Table1 values("" + Name + "","" +
Symbol + "","" + D + "","" + Red + "","" + RedBuy + "","" + RedSell + "","" +
SBIntraBuy + "","" + SBTR1Buy + "","" + SBTR2Buy + "","" + SBTR3Buy + "","" +
SBIntraSell + "","" + SBTR1Sell + "","" + SBTR2Sell + "","" + SBTR3Sell + "","" + RSTL
+ "","" + Green + "");", con);

Chcę dodać kolumnę przed nazwą o nazwie CustomerId z kluczem podstawowym. Nie wiem, jak wstawić go z kluczem podstawowym. Co powinienem dodać w moim poleceniu do klucza podstawowego?

Byłoby wielkie uznanie, gdyby ktoś mógł mi pomóc.

Z góry dziękuję.

Czek ten link do zrzutu ekranu układu tabeli.

Odpowiedzi:

4 dla odpowiedzi № 1

Jeśli twój klucz to automatyczny przyrost, to nie musisz tego robić Baza danych zrobi to za Ciebie Jeśli twój klucz nie jest automatyczny, zastanów się nad zmianą To jest naprawdę miłe!

Proszę również rozważyć użycie wiążący zamiast budować pełne zapytanie wstawiania.

Załóżmy, że poniższa tabela:

Tabela 1 PK (auto_increment) Imię Symbol

To, co chcesz zrobić, to:

OleDbCommand cmd = new OleDbCommand("insert into Table1 (Name,Symbol) values (?,?)");
cmd.Parameters.Add(new OleDbParameter("@Name",Name));
cmd.Parameters.Add(new OleDbParameter("@Symbol",Symbol));

lub (bezpieczniejsze):

OleDbCommand cmd = new OleDbCommand("insert into Table1 (Name,Symbol) values (@Name,@Symbol)");
cmd.Parameters.Add(new OleDbParameter("@Name",Name));
cmd.Parameters.Add(new OleDbParameter("@Symbol",Symbol));

I w końcu:

cmd.ExecuteNonQuery();