DOBON.NET DOBON.NETプログラミング掲示板過去ログ

PrintPreviewDialogを使いたい

環境/言語:[WinXP]
分類:[.NET]

VB.NETとOracle9iを使っています。

コマンドボタンを押してOracleの中のデータを印刷プレビューで
表示したいのですが、書き方がおかしい為、

-------------------------------------------------------------------
'System.InvalidOperationException' のハンドルされていない例外が system.data.oracleclient.dll で発生しました。
追加情報 : Invalid attempt to read when no data is present.
-------------------------------------------------------------------

というメッセージが出てしまいました。
修正部分はwhile文中のようですが、どうしたらよいのか分かりません。
どなたかご存知の方、宜しくお願いいたします。

Private Sub cmdPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPrint.Click

sql = "select * from MOVE order by M_ID"
Dim cmd As New OracleCommand(sql, cn)
Dim dr As OracleDataReader = cmd.ExecuteReader
P_Text = ""
dr.Read()

While dr.HasRows
P_Text = P_Text & dr.Item("M_ID") & dr.Item("M_TITLE") &
dr.Item("M_KOUKAI") & vbCrLf
dr.Read()
End While

P_Position = 0 '開始位置
P_Font = New Font("MS Pゴシック", 10)

Dim pd As New System.Drawing.Printing.PrintDocument
AddHandler pd.PrintPage, AddressOf pd_PrintPage
Dim ppd As New PrintPreviewDialog
ppd.Document = pd
ppd.ShowDialog()
end sub
dr.Read()

While dr.HasRows
P_Text = P_Text & dr.Item("M_ID") & dr.Item("M_TITLE") &
dr.Item("M_KOUKAI") & vbCrLf
dr.Read()
End While




While dr.Read()
P_Text = P_Text & dr.Item("M_ID") & dr.Item("M_TITLE") &
dr.Item("M_KOUKAI") & vbCrLf
End While

こんさん!どうもありがとうございました。
Readすれば良かったのですね!
本当にありがとうございます!!

また、
プレビューや印刷をする時に、罫線を付けて表示することは
可能なのでしょうか?
もしご存知の方がいましたら、宜しくお願いいたします。

DOBON.NET | プログラミング道 | プログラミング掲示板