"foreach"없이이 작업을 수행 할 수 있습니까 ???배열 데이터를 SqlCommand.Parameter에 바인딩하는 방법?
데이터 목록 매개 변수를 연결하고 N 모두 함께
이String SQL_DETAIL = "INSERT INTO [ImportDetail] " +
" ([idMaster] " +
" ,[operation] " +
" ,[data]) " +
" VALUES " +
" (@a,@b,@c) ";
foreach (ImportDetail imp in this.lstImportDetail)
{
SqlCommand dettCommand = new SqlCommand(SQL_DETAIL, myTrans.Connection);
dettCommand.Transaction = myTrans;
dettCommand.Parameters.Add("a", SqlDbType.Int).Value = imp.IdMaster;
dettCommand.Parameters.Add("b", SqlDbType.NVarChar).Value = imp.Operation;
dettCommand.Parameters.Add("c", SqlDbType.NVarChar).Value = imp.Data;
i =i+ (int)dettCommand.ExecuteNonQuery();
}
도움이 유쾌한 기분이 된 경우
예. 'for' 또는'while'을 사용할 수 있습니다. – Reniuz
lstImportDetail의 내용은 무엇입니까? –
1) foreach를 사용하지 않는 특별한 이유가 있습니까? 2)'.Add' 메소드에서'@ a','@b'와'@c'를 사용해야합니다. 3) foreach를 사용하면 각 반복에서 시작하는 모든 매개 변수를'.Clear '해야합니다. 4)'ExecuteNonQuery'가'int'를 반환하기 때문에'int'를 캐스팅 할 필요가 없습니다. 5) _using_ 문을 사용하여 데이터베이스 연결 W 오브젝트를 처 리하십시오. –