我得到了一个包含许多列的Oracle表。BLOB数据类型中的1列。我在VB.NET中得到了一个简单的查询,它从这个表中检索所有数据,并填充我的表单。但是,我在BLOB专栏中遇到了一些问题。
我有一个代码
cmd.CommandText = "select * from local_it.local_email_template where name = '" & cb_EmailName.Text & "'"
dr = cmd.ExecuteReader
dr.Read()
tb_Username.Text = dr.Item(1)
tb_Password.Text = dr.Item(2)
tb_FromName.Text = dr.Item(3)
tb_FromEmail.Text = dr.Item(4)
tb_Host.Text = dr.Item(5)
n_Port.Value = dr.Item(6)
cb_Action.Text = dr.Item(7)
tb_Subject.Text = dr.Item(8)
rtb_Body.Text = dr.Item(9)
dr.Close()但是我在rtb_Body.text = dr.item(9)上发现了一个错误,说
从类型'Byte()‘到类型'String’的转换无效
所以我试着说rtb_Body.text = dr.item(9).tostring,但现在我只收到短信
System.Byte[]
在我的RichRextBox里。
因此,我的问题是:如何编写这个部分(或对此的查询),以便在我的RichRextBox中获得实际文本?
使用Visual 2012,VB.NET上的Oracle g11数据库
发布于 2015-11-08 14:54:44
您可以使用来自System.Text命名空间的enconding函数:
Dim blob_bytes_to_db As Byte() = System.Text.Encoding.ASCII.GetBytes(RichTextBox1.Rtf)RichTextBox1.Rtf = System.Text.Encoding.ASCII.GetChars(blob_bytes_from_db)注意事项:使用RichTextBox1,.Text属性只能获取/设置干净的文本。如果要获取/设置带有所有RTF代码的格式化文本,请使用.Rtf属性。
https://stackoverflow.com/questions/33563778
复制相似问题