sql >> Databáze >  >> RDS >> Sqlserver

Vložte příkaz do databáze SQL Server

Pro takovou vložku existují tři možné scénáře:

  1. Vložení bylo úspěšné.
  2. Dostanete výjimku.
  3. Máte spouštěč, který nahradí vložení nějakou jinou akcí.

Domnívám se, že nemáte spouštěč, a protože nemáte záznam v tabulce, musí existovat výjimka.

Máte nějaký kód, který zachytí výjimku na jakékoli jiné úrovni? To by vysvětlovalo, proč to nevidíte, a také by to ponechalo připojení k databázi neuzavřené, což by vysvětlovalo, proč máte následně problémy s připojením k databázi.

Pomocí using blok pro připojení k databázi by jej správně uzavřel, i když je v kódu chyba.

Používáte parametrizovaný dotaz, ale nikde v kódu nevidím, že přidáváte parametry do objektu příkazu. To by bylo něco jako:

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. Desetinná hodnota v Postgresql vrácená jako řetězec v Node.js

  2. Jak zvýšit maximální počet připojení v postgresu?

  3. Hibernate dialekt pro MySQL 8?

  4. vložení záznamu do jedné tabulky zkopírováním jednoho řádku jednoho sloupce z jiné tabulky