Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wstaw instrukcję do bazy danych SQL Server

Istnieją trzy możliwe scenariusze takiej wstawki:

  1. Wstawienie się powiodło.
  2. Dostajesz wyjątek.
  3. Masz wyzwalacz, który zastępuje wstawkę inną akcją.

Sądzę, że nie masz wyzwalacza, a ponieważ nie otrzymujesz rekordu w tabeli, musi istnieć wyjątek.

Czy masz jakiś kod, który przechwytuje wyjątek na innym poziomie? To wyjaśniałoby, dlaczego go nie widzisz, a także pozostawiłoby niezamknięte połączenie z bazą danych, co wyjaśniałoby, dlaczego później masz problemy z połączeniem z bazą danych.

Korzystanie z using blok dla połączenia z bazą danych zamknie go poprawnie, nawet jeśli w kodzie jest błąd.

Używasz zapytania parametrycznego, ale nie widzę, aby parametry zostały dodane do obiektu polecenia w dowolnym miejscu w kodzie. To byłoby coś w stylu:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Typy wyliczeniowe w SQL Server 2008?

  2. ExecuteNonQuery:Właściwość połączenia nie została zainicjowana.

  3. Jak mogę rozwiązać problem z pulą połączeń między ASP.NET i SQL Server?

  4. SSRS:Jak stworzyć raport JAK tabela przestawna w ssrs 2008 r2

  5. Łączenie pojedynczej kolumny w jeden wiersz w SQL Server Management Studio