我試圖在數據庫的列表視圖中插入項目。如果我試圖單獨插入每條記錄,如果有更多記錄(甚至超過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注入的影響。 –
只是爲了說明@Joel在說什麼,你應該考慮參數化查詢,如果你不是那麼肯定,請在「sql參數化查詢」上進行搜索 – spacemonkeys