Legen Sie DBNUll.value in eine database für ein int-Feld ein?

Ich bin nicht in der Lage, null in meine database für die OrderMealDealItemID einzufügen, wenn die OrderMealdealItemID null in der database für die untere Abfrage ist.

string insertStatementDressing = null; insertStatementDressing = @"Insert into OrderDressing(SrNo,DressingID,OrderItemID,OrderID,ProductID,OrderMealDealItemID,IsDeleted,IsApplied,Amount,IsPriceApplied) values('" + odiDress.SrNo + "'," + odiDress.DressingID + "," + odiDress.OrderItemID + "," + latestOrderID_onLocal + "," + odiD.ProductID + "," + odiDress.OrderMealDealItemID??DBNull.Value + "," + odiDress.IsDeleted + "," + odiDress.IsApplied + "," + odiDress.Amount + "," + odiDress.IsPriceApplied + ")"; db_local.ExecuteStoreCommand(insertStatementDressing); 

Wenn ich diese Abfrage ausführen, wird es konvertiert, um zu folgen, aber nicht eine komplette ausführbare characterfolge, die von der database akzeptiert werden kann.

  Insert into OrderDressing(SrNo, DressingID, OrderItemID, OrderID, ProductID, OrderMealDealItemID, IsDeleted, IsApplied, Amount, IsPriceApplied) values('02785d81-dc9f-4bf1-8050-7498bcb427c7',38,1,20,3, 

Da Sie die SQL-characterfolge manuell erstellen, müssen Sie auch den NULL Wert manuell erstellen. Versuche dies:

 insertStatementDressing = @"Insert into OrderDressing(SrNo,DressingID,OrderItemID,OrderID,ProductID,OrderMealDealItemID,IsDeleted,IsApplied,Amount,IsPriceApplied) values('" + odiDress.SrNo + "'," + odiDress.DressingID + "," + odiDress.OrderItemID + "," + latestOrderID_onLocal + "," + odiD.ProductID + "," + odiDress.OrderMealDealItemID.HasValue ? odiDress.OrderMealDealItemID.Value.ToString() : "NULL" + "," + odiDress.IsDeleted + "," + odiDress.IsApplied + "," + odiDress.Amount + "," + odiDress.IsPriceApplied + ")"; 

Beachten Sie, dass Sie vermeiden sollten, Abfragen wie diese zu schreiben, da sie anfällig für SQL-Injektion sind (unter anderem)