2016-04-25 7 views
-1

私は作業中のページとコードに問題があります。私は上記のエラーを取得しています正しい文字列を入力してください。 VB.net - これは初めてのことです。

intConnectionId = CInt(result.Value) 

:行で

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load 

     Dim dtTable As DataTable = Nothing 
     Dim intConnectionId As Integer = 0 

     If Page.IsPostBack Then 

      ' Get user data from session 
      With HttpContext.Current 

       intConnectionId = CInt(result.Value) 
      End With 
     End If 

     ' Remove connection 
     modConnections.Delete(intConnectionId) 

     ' Clear desks attahced to connection 
     modDeskText.ClearUserDesk(intConnectionId) 

     Using sqlCommand As New SqlCommand 
      With sqlCommand 
       .CommandText = "usp_connectsdetailedlist" 
       .CommandType = CommandType.StoredProcedure 
      End With 

      Execute(sqlCommand, dtTable) 
     End Using 

     With Rep1 
      .DataSource = dtTable.DefaultView 
      .DataBind() 
     End With 

     If Not IsNothing(dtTable) Then 
      dtTable.Dispose() 
     End If 

    End Sub 

[FormatException: Input string was not in a correct format.] 
    Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat) +213 
    Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value) +90 

[InvalidCastException: Conversion from string "" to type 'Integer' is not valid.] 
    Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value) +238 
    frmConnects2.Page_Load(Object sender, EventArgs e) in D:\Source Code\PTS\PTS Online .NET - Copy\PTS Online .NET\PTS Online .NET stu\frmConnects2.aspx.vb:17 
    System.Web.UI.Control.OnLoad(EventArgs e) +95 
    System.Web.UI.Control.LoadRecursive() +59 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +678 

:コードを参照してください。私が何をしても、私は仕事に必要なフォーマットに変換するデータを得ることができません。私は今これが右手側のコードとは関係ないことを理解しています。

私の目標は、テキストボックス(<input type="text" id="result" runat="server" />)id = "result"に配置し、SQLで選択したレコードの "id"を使用して接続を削除することです。下記の表を参照してください。使用

<ItemTemplate> 
         <tr class="<%# ReturnValuesAsColor(Eval("online"), Eval("mobile"), Eval("server_proc"))%>"> 
         <td><%# Eval("id").ToString%></td> 
         <td><%# Eval("user_id").ToString%></td> 
         <td><%# Eval("user_name").ToString%></td> 
         <td><%# Eval("workstation_name").ToString%></td> 
         <td><%# Eval("ip_address").ToString%></td> 
         <td><%# Eval("connect_date").ToString%></td> 
         <td><%# Eval("refresh_date").ToString%></td> 
         <td><%# Eval("app_ver").ToString%></td> 
         <td><%# Eval("app_date").ToString%></td> 
         <td><%# CBool(Eval("get_messages_flag")).ToString%></td> 
         <td><%# FixNumbers(Eval("message_type_flags"))%></td> 
         <td><%# Eval("online").ToString%></td> 
         <td><%# Eval("mobile").ToString%></td> 
         <td><%# Eval("group_name").ToString%></td> 
         <td><%# Eval("server_proc").ToString%></td> 
         <td><input type="submit" class="ui-button ui-widget ui-state-default ui-corner-all" value="delete connection" onclick="clearText(result); CopyId(<%# Eval("id").ToString%>);" /></td> 
         </tr> 

        </ItemTemplate> 

JS:

<script> 
       function CopyId(num) { 
        var txt = document.getElementById("<%= result.ClientID%>").value; 
        txt = num; 
        document.getElementById("<%= result.ClientID%>").value = txt; 
        } 
</script> 

申し訳ありませんが、私は何かを逃したかの情報が不足している場合。どんな助けでも大歓迎です。

+0

問題はかなり明らかです。「result.Value」は整数ではありません。これには人口はどこにありますか? –

+0

オリジナルはSQL Serverから6桁の数字で表示されます。質問が正しく理解されていれば、テーブルの「id」列です。私はその結果を見ることができます。値は整数ではありませんが、私はそれを秘密にすることはできません。 – BarryWhite

+0

申し訳ありませんが、質問は完璧ではありませんでしたが、なぜdownvoteですか?明らかに、私は新しいと言った、ルールの後の質問を読んで、すべてを入れていることを確認した。 ダウン者を説明してください? – BarryWhite

答えて

0

resultまたはresult.Valueの定義は教えられていません。データベース内のNULL値のため

てみてくださいテスト:VBで

If IsDbNull(result.Value) Then 
    intConnectionId = 0 
Else 
    intConnectionId = CInt(result.Value) 
End If 
+0

あなたが言ったように私は "" "result.value"を得ると思っています。この前に問題が発生しているように見えますが、これはキャプチャしようとしている値です。 私はまだあなたが私が正しい「cphMain_result」を取得していますが、私は思いますので、6桁の数字でなければなりませんresult.ClientIDから同じエラー とそうでない場合はアウトそれとしてだけで爆弾を尋ねたものの後半部分をコメントアウトする必要がありますどこかにコンバージョンがない可能性がありますか? – BarryWhite

0

それは、&何もヌル、空でなく、かつ任意の数値以外の文字が含まれていないことを確認するためにあなたの変数をチェックする必要があります。 CTYPEとTrimも使用します。文字列に数値が含まれている場合にのみ変換が機能します。文字列の入力に問題がある場合は、入力されたコードを確認する必要があります。私はJSを知りません。

+0

ありがとう、私はバナナに行っていたと思った!私は他人に示唆された価値を得ていた。私が必要なものを拾うとすぐに、それは働き始めました。すべてからのご意見ありがとうございます。 – BarryWhite

+0

*値のお詫び – BarryWhite

関連する問題