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 № 1Jeś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();