sql >> Databasteknik >  >> RDS >> Sqlserver

Infoga uttalande i SQL Server-databasen

Det finns tre möjliga scenarier för ett sådant inlägg:

  1. Infogningen lyckas.
  2. Du får ett undantag.
  3. Du har en utlösare som ersätter infogningen med någon annan åtgärd.

Jag antar att du inte har en trigger, och eftersom du inte får en post i tabellen måste det finnas ett undantag.

Har du någon kod som fångar undantaget på någon annan nivå? Det skulle förklara varför du inte ser det, och det skulle också lämna databasanslutningen ostängd, vilket skulle förklara varför du har problem med att ansluta till databasen efteråt.

Använda en using block för databasanslutningen skulle stänga den ordentligt även om det finns ett fel i koden.

Du använder en parameteriserad fråga, men jag kan inte se att du lägger till parametrarna i kommandoobjektet någonstans i koden. Det skulle vara något 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. Oracle SQL Dev, hur man beräknar antalet veckodagar mellan 2 datum

  2. PostgreSQL-motsvarighet till Oracles PERCENTILE_CONT-funktion

  3. mysql count fungerar inte korrekt?

  4. Java MySQL preparerad Statement Batch