Try
If functionmode = "ADD" Then
SQLStr = "INSERT INTO boatmast VALUES ('" & gBoatType & "','" & TxtBoatCode.Text & "','" & TxtBoatName.Text & "','" & Format(txtBP.Text, "##0.#0") & "','" & Format(txtBPM.Text, "##0.#0") & "','" & Format(txtLDA.Text, "##0.#0") & "','" & , 'bpk', '" & Today & "', '" & updtime & "', 'bpk', '" & Today & "', '" & updtime & "')"
End If
conn.Open()
SQLCmd.Connection = conn
SQLCmd.CommandText = SQLStr
SQLCmd.ExecuteNonQuery()
conn.Close()
Catch ex As OdbcException
MsgBox(ex.ToString)
Finally
conn.Close()
End Try
1
A
答えて
4
問題はconn.Close()を2回呼び出したことです。最後のブロックにクローズ接続を保持します。
Try
If functionmode = "ADD" Then
//Supposed this is you columnNAmes //Set parameters
SQLStr = "INSERT INTO boatmast (gBoatType,BoatCode,BoatName,BP, BPM,LDA,bpk,Today,updtime,bpk2,Today2,updtime2) VALUES (@gBoatType,@BoatCode,@BoatName,@BP, @BPM,@LDA,@bpk,@Today,@updtime,@bpk2,@Today2,@updtime2)"
SQLCmd.Parameters.AddWithValue("@gBoatType",gBoatType)
//DO OTHER STUFF TIL @updtime2
conn.Open()
SQLCmd.Connection = conn
SQLCmd.CommandText = SQLStr
SQLCmd.ExecuteNonQuery()
End If
Catch ex As OdbcException
MsgBox(ex.ToString)
Finally
If conn.State = ConnectionState.Open Then conn.Close()
End Try
よろしく
+0
確かに、あなたは 'Try'ブロックのものを削除するつもりですか? 'SQLCmd.ExecuteNonQuery()'が失敗すると、接続は決して閉じられません。 –
+0
それから...最後にブロックに置いて..先生。私は自分の投稿を編集しました。 – BizApps
+0
何も変わっていない –
このコードは、SQLインジェクション攻撃に対して脆弱です。 –
textbox.textの値をSQLに挿入すると、*本当に悪い考えです。 –
編集する方法 –