sql >> Database teknologi >  >> RDS >> Sqlserver

Indsæt sætning i SQL Server-database

Der er tre mulige scenarier for sådan en indsats:

  1. Indsættelsen lykkes.
  2. Du får en undtagelse.
  3. Du har en trigger, der erstatter indsatsen med en anden handling.

Jeg gætter på, at du ikke har en trigger, og da du ikke får en rekord i tabellen, må der være en undtagelse.

Har du en kode, der fanger undtagelsen på et hvilket som helst andet niveau? Det ville forklare, hvorfor du ikke kan se det, og det ville også lade databaseforbindelsen være ulukket, hvilket ville forklare, hvorfor du har problemer med at oprette forbindelse til databasen bagefter.

Brug af en using blok for databaseforbindelsen ville lukke den korrekt, selvom der er en fejl i koden.

Du bruger en parametreret forespørgsel, men jeg kan ikke se, at du tilføjer parametrene til kommandoobjektet nogen steder i koden. Det ville være noget i stil med:

cmd.Parameters.Add("Price", SqlDbType.Decimal).Value = price;
cmd.Parameters.Add("User", SqlDbType.NChar, 20).Value = user;
cmd.Parameters.Add("Time", SqlDbType.NChar, 15).Value = time;
cmd.Parameters.Add("Customer", SqlDbType.NChar, 10).Value = customer;
cmd.Parameters.Add("Discount", SqlDbType.Decimal).Value = discount;
cmd.Parameters.Add("FullPrice", SqlDbType.Decimal).Value = fullPrice;


  1. Hvordan man henter billede fra databasen og viser billedet på websiden

  2. Hvordan biner man vilkårligt i MySQL?

  3. SQL-forespørgsel til at finde en værdi i flere områder

  4. Hvordan holder jeg værdierne af en kolonne unikke i MySQL?