데이터베이스의 목록 뷰에 항목을 삽입하려고했습니다. 레코드를 별도로 삽입하려고하면 더 많은 레코드 (5 개 이상)가 있으면 오래 걸립니다. 임 현재이 코드를 사용하여 :SQL 데이터베이스 액세스에서 여러 줄의 쿼리를 삽입하십시오.
For Each ls As ListViewItem In ListItems.Items
strSQL = String.Format("insert into tbltrans (transid,itemcode,itemname,qty,price,[total],btw) values ('{0}','{1}','{2}',{3},{4},'{5}','{6}')", CStr(txtTransId.Text), CStr(ls.Tag), ls.SubItems(0).Text, CDbl(ls.SubItems(1).Text), CDbl(ls.SubItems(2).Text), CDbl(ls.SubItems(3).Text), ((ls.SubItems(5).Text)))
objDal.ExecuteQuery(strSQL)
Next
그래서, 제가하고 싶은 하나 개의 SQL 쿼리에서 모든 항목을 실행합니다. 나는이 시도했지만 작동하지 않았다 :
strSQL = "insert into tbltrans (transid,itemcode,itemname,qty,price,[total],btw) values "
For Each ls As ListViewItem In ListItems.Items
strSQL += tring.Format("('{0}','{1}','{2}','{3}','{4}','{5}','{6}')", CStr(txtTransId.Text), CStr(ls.Tag), ls.SubItems(0).Text, CDbl(ls.SubItems(1).Text), CDbl(ls.SubItems(2).Text), CDbl(ls.SubItems(3).Text), ((ls.SubItems(5).Text)))
Next
objdal.executequery(strSQL)
그것이 세미콜론 실종 있다고 말한다 (;) (";"STRSQL &) 명령문의 끝을, 나는 또한 레코드를 추가하고 시도 , 구문 오류가 발생합니다.
아무도 도와 줄 수 있습니까?
단일 레코드에 대해서도 잘못하고 있습니다. String.Format()은 SQL injection에 취약합니다. –
@Joel이 무엇을 말하고 있는지 명확히하기 위해 매개 변수화 된 쿼리를 고려해야합니다. 확실하지 않은 경우 "SQL 매개 변수가있는 쿼리"에 대한 검색을 수행하십시오 – spacemonkeys