0

私はグーグルとユーチューブを検索しましたが、ここではもちろん答えが見つかりません。ID 挿入をオンまたはオフにする必要がありますが、ADO.Net プロジェクトの sql コマンドでそれを行う方法がわかりません。経験豊富なあなたにとって、それは非常に簡単に違いないと確信しています。

追加情報 C#、Visual Studio、および SQL Server を使用していますが、それが問題の絞り込みに役立つかどうかわかりません。

これは、ado.net プロジェクトで試した sql コマンドです。

sql = "SET IDENTITY_INSERT HomeCareVisit ON insert into HomeCareVisit values(" 
       + VisitRefNo + ",'" + PatientNo + "','" + ScheduledDateTime + "','" 
       + TreatmentInstructions + "','" + MedicalStaffID + "','" + Priority + "','" 
       + ActualVisitDateTime + "','" + TreatmentProvided + "','" + Prescription 
       + "','" + AdvisoryNotes + "'," + (FurtherVisitRequired ? "1" : "0") + " );"; 

そしてそれはエラーを与えました

PRIMARY KEY 制約 'PK_VisitRefNo' に違反しています。オブジェクト 'dbo.HomeCareVisit' に重複するキーを挿入できません。ステートメントは終了されました。

列のデータ型を示すコードは次のとおりです

VisitRefNo = ds.Tables[0].Rows[i].ItemArray[0].ToString();
PatientNo = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[1]);
ScheduledDateTime = Convert.ToDateTime(ds.Tables[0].Rows[i].ItemArray[2]);
TreatmentInstructions = ds.Tables[0].Rows[i].ItemArray[3].ToString();
MedicalStaffID = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[4]);
Priority = ds.Tables[0].Rows[i].ItemArray[5].ToString();
ActualVisitDateTime = Convert.ToDateTime(ds.Tables[0].Rows[i].ItemArray[6]);
TreatmentProvided = ds.Tables[0].Rows[i].ItemArray[7].ToString();
Prescription = ds.Tables[0].Rows[i].ItemArray[8].ToString();
AdvisoryNotes = ds.Tables[0].Rows[i].ItemArray[9].ToString();
FurtherVisitRequired = Convert.ToBoolean(ds.Tables[0].Rows[i].ItemArray[10]);
4

2 に答える 2

1

これはそれを行うためのコマンドです

SET IDENTITY_INSERT YourTable ON
于 2013-08-20T11:06:49.630 に答える