2011-05-04 48 views
1

即時嘗試插入到我的數據庫和即時通訊接收錯誤,是我第一次與VB.Net所以任何幫助將不勝感激。在Visual Basic .Net上插入時出現錯誤.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 + "'" '& 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-paqV2\marcador\gestiones.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。

順便說一句,我注意到這不是一個安全的方式來執行查詢,如果有人能指出我在正確的方向,我真的很感激它。

回答

2

從查詢中提取oracle命令並在Oracle客戶端上運行。這會讓你知道你的oracle命令是否有問題。

其次,您可以使用string.format來形成查詢,而不是使用+運算符。

處理查詢輸入的安全方法是通過輸入參數。你可以檢查下面的鏈接。

http://msdn.microsoft.com/en-us/library/system.data.oracleclient.oracleparameter.aspx

http://blogs.msdn.com/b/alextch/archive/2007/08/21/using-data-parameters-with-oracle-data-provider-for-net.aspx

我希望這有助於。

謝謝!
Dhananjay

+0

謝謝,使用這些例子我完全重寫了代碼,現在它的工作和消毒。 :) – jhurtado 2011-05-04 02:51:16