#vb.net #oracle10g
#vb.net #oracle10g
Вопрос:
я пытаюсь выполнить вставку в свою базу данных и получаю сообщение об ошибке, это мой первый раз с VB.Net, так что любая помощь была бы с благодарностью принята.
Вот код:
Sub InsertGestion(ByVal s As Object, ByVal e As EventArgs)
Dim Records() As String
Records = Split(TBComment.Text, vbCrLf)
Dim record As Integer
For record = 0 To UBound(Records)
oracleCommand = New OracleCommand("INSERT INTO ACTFIL (ACACCTG,ACACCT,ACACTDTE,ACSEQNUM,ACACCODE,ACRCCODE,ACCIDNAM,ACCOMM) values ('1','" TBNum.text "','" TBFecha.Text "'," (record 1) ",'" TBCodAc.text "','" TBCodRes.text "','" TBGestor.Text "','" record "')", oracleConexion)
Try
oracleConexion.Open()
oracleCommand.ExecuteNonQuery()
Catch ex As Exception
status.Text = "ERROR al insertar la gestión " ex.Message "'" 'amp; ex.Message
Finally
oracleConexion.Close()
Response.Redirect("gestiones.aspx?credito=" Request.QueryString("credito") "")
End Try
Next
End Sub
И ошибка:
FormatException: Input string was not in a correct format.]
Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat) 717374
Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat) 114
[InvalidCastException: Conversion from string "INSERT INTO ACTFIL (ACACCTG,ACAC" to type 'Double' is not valid.]
Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat) 717687
ASP.marcador_gestiones_aspx.InsertGestion(Object s, EventArgs e) in G:vta-paqV2marcadorgestiones.aspx:62
System.Web.UI.WebControls.Button.OnClick(EventArgs e) 115
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) 140
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) 29
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 2981
Изначально это было обновление, и оно работало, я просто изменил OracleCommand.
Кстати, я замечаю, что это небезопасный способ выполнения запросов, если кто-нибудь может указать мне правильное направление, я был бы очень признателен.
Ответ №1:
Извлеките команду oracle из запроса и запустите на клиенте Oracle. Это даст вам знать, если с вашей командой oracle что-то не так.
Во-вторых, вы можете использовать string.format для формирования вашего запроса, а не использовать оператор .
Безопасный подход к обработке входных данных запроса заключается во входных параметрах. Вы можете проверить приведенные ниже ссылки.
http://msdn.microsoft.com/en-us/library/system.data.oracleclient.oracleparameter.aspx
Я надеюсь, что это поможет.
Спасибо!
Dhananjay
Комментарии:
1. Спасибо, используя эти примеры, я полностью переписал код, и теперь он работает и очищен. 🙂