아래 코드는 OleDB를 사용하여 데이터베이스로 나가고 정보로 데이터 세트를 채 웁니다. 그런 다음 데이터 집합에 무언가가 있는지 확인한 다음 데이터 집합에 무언가가 있는지 확인한 다음 해당 데이터 집합을 함수 끝에 추가 된 데이터 테이블에 추가합니다.데이터 테이블에 문제 추가하기
for (int i = 0; i < UserClassDict[UserName].ControlNumber.Count; i++)
{
string query = "SELECT * FROM [FNF Taxes] WHERE ControlNumber =" + UserClassDict[UserName].ControlNumber[i] + ";";
adapter.SelectCommand = new OleDbCommand(query, conn);
DataSet dataset = new DataSet();
adapter.Fill(dataset);
if (dataset.Tables[0].Rows.Count > 0)
{
dt = dataset.Tables[0];
}
}
제 질문은 이쪽입니다. 이 블록이있는 for 루프를 통해 알 수 있듯이 여러 번 실행되며 DB에서 끌어 와서 데이터 테이블에 추가 할 각 행을 원합니다. 따라서 데이터 테이블이 반환 될 때 모든 X 양의 행이 있습니다. 그러나 위의 코드 블록에서와 같이 데이터 테이블에 추가되는 행은 가져온 가장 최근 행입니다.
나는 quetsion이 무엇인지 이해하기가 어렵습니다. –
이 SQL을 작성하는 데 사용되는 기술은 주입 공격에 취약합니다. 이 특정 쿼리는 C# 개체가 숫자 데이터 형식 인 것처럼 보이지만 동일한 기술을 사용하여 쿼리로 데이터를 대체하는 다른 쿼리가 있다면 해킹 당할 가능성이 큽니다. –
몇 가지 추가 코드가 도움이 될 수 있습니다. – ErickBest