ASP.NET と SQL Server を使用して、Web ベースの物流システムを設計しています。
私のクラスの 1 つで、データベースにデータを挿入しようとすると、主キー違反エラーが発生しますが、データはテーブルに正常に挿入されます。問題がどこにあるのかわかりません。誰かが私が間違っていることを見ることができますか?
public int fillShipmentDetail()
{
int success = 0;
string connectionString = ConfigurationManager.ConnectionStrings["LGDB"].ToString();
SqlConnection sqlCon = new SqlConnection(connectionString);
SqlCommand sqlCom = new SqlCommand("fillShipmentDetails", sqlCon);
sqlCom.CommandType = CommandType.StoredProcedure;
sqlCon.Open();
sqlCom.Parameters.AddWithValue("shipOrderID", ShipOrderID);
sqlCom.Parameters.AddWithValue("totalWeight", TotalWeight);
sqlCom.Parameters.AddWithValue("weightIsMetric", WeightUnit);
sqlCom.Parameters.AddWithValue("weightIsImperial", VolumeUnit);
sqlCom.Parameters.AddWithValue("volume", Volume);
sqlCom.Parameters.AddWithValue("quantity", Quantity);
sqlCom.Parameters.AddWithValue("value", Value);
sqlCom.Parameters.AddWithValue("description", GoodsDescription);
success = sqlCom.ExecuteNonQuery();
if (success == 1)
{
success = 1;
}
else
{
success = 0;
}
sqlCon.Close();
return success;
}
aspx.cs
ページ
Classes.ShipmentDetails fillShipmentDetails = new Classes.ShipmentDetails(
getLastShipOrder, _weight, _checkMetricImperial_weight, _checkMetricImperial_volume,
_volume, _quantity, _value, txtGoodsDescription.Text);
int success3 = fillShipmentDetails.fillShipmentDetail();
下の図でわかるように、レコード shipOrderID 7192 は既にテーブルに挿入されています。
3 つのテーブルをすべて削除し、新しいデータを挿入しました。データは正常に挿入されますが、エラーが再び発生します。
このスクリーンショットはすべてを明確に示しています。データベースへの新しい挿入ごとに、最後のテーブルに主キーエラーがあります。重複キーとデータが正常に挿入されていないことがわかります。