2016-07-13 7 views
0

バイナリデータをpdfに変換するためのコードを作成しました。私の目的は、日付が使えないときにエラーメッセージを表示することです。行う。vb.netにレコードが見つからないときにエラーメッセージを表示する方法

+0

あなたがしなければならないことは、SqlDataReaderによって返されたレコードの数をチェックする条件を追加することです。これを達成する方法を知っていると思います。 –

+0

なぜPDFファイル自体にメッセージを表示しないでください。 –

+0

コードを更新してください – avi

答えて

0

あなたは

Using sdr As SqlDataReader = cmd.ExecuteReader() 
    if sdr.hasrows then 
    sdr.Read() 
    pdf = DirectCast(sdr("BinaryData"), Byte()) 
    ID = sdr("RunId").ToString() 
    else 
    pdf = DirectCast("No Data Found", Byte()) 
    end if 
+0

このエラーは、この型の文字列の値がこの行の1次元配列の1バイト配列に変換できないことを示しています。DirectCast( "データが見つかりません"、Byte()) – avi

+0

'DirectCast(System.Text.Encoding.Unicode.GetBytes ( "データが見つかりません")、Byte()) 'VB.net –

+0

がうまくいかない場合は、lblerrorsのようなaspxページに表示するPDFファイルにエラーが表示されます。 – avi

0

その後、PDFファイル自体にメッセージを表示したい場合、あなたはまた、することができますように、ここでhttp://docs.telerik.com/devtools/aspnet-ajax/controls/window/troubleshooting/executing-javascript-code-from-server

を与えられたアプローチを使用することができ、この

Dim csname1 As String = "PopupScript" 
Dim csname2 As String = "ButtonClickScript" 
Dim cstype As Type = Me.GetType() 

Dim cs As ClientScriptManager = Page.ClientScript 

If (Not cs.IsStartupScriptRegistered(cstype, csname1)) Then 

    Dim cstext1 As String = "alert('Record not found');" 
    cs.RegisterStartupScript(cstype, csname1, cstext1, True) 

End If 

を試したいかもしれませんスクリプトをロードするかどうかを確認するには、そのスクリプトをロードするか、関数を作成してtelerikのVBの例のように呼び出すか、両方のアプローチをあなたに合わせてミックスします。