如何查询数据库中richtextbox存入的内容?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查询数据库中richtextbox存入的内容?相关的知识,希望对你有一定的参考价值。

我用VB的richtextbox把内容(RichTextBox1.TextRTF)存入数据库的image字段中,类型为备注。我

想把其中的含有“学生”的记录找出来,怎么办啊。用
rs.Open "select * from data where image like '%" & Text1.Text & "%'" , Conn, 1, 1
查不到了,但是如果存入数据库是RichTextBox1.Text就行了。
刚才我说得不太清楚。存入数据库时是RichTextBox1.TextRTF,
想把其中的含有“学生”的记录找出来。用
rs.Open "select * from data where image like '%学生%'" , Conn, 1, 1 不行

在RTF中汉字是以两个十六进制的字节形式表示的,比如“学生”两字就表示为
\'d1\'a7\'c9\'fa,其中十六进制的d1a7转换为10进制整型变量值为-11865,也就是“学”字的ascii码。因此要查询“学生”这两个字,需要先将“学生”一词字转换成\'d1\'a7\'c9\'fa这样的形式,给你个函数吧
Function StringToHex(sStr As String) As String
Dim sTemp As String
Dim sChar As String * 1
For i = 1 To Len(sStr)
sChar = Mid(sStr, i, 1) '依次取出原始字符串中每个字符
If Asc(sChar) < 128 And Asc(sChar) > 0 Then '如果是英文字母,数字或半角符号,不进行任何操作
sTemp = sTemp & sChar
Else '如果是其他字符,则转换为\'十六进制的形式
sTemp = sTemp & "\'" & Left(Hex(Asc(sChar)), 2) & "\'" & Right(Hex(Asc(sChar)), 2)
End If
Next
StringToHex = sTemp
End Function

另外,如果richtextbox中“学生”两个字在一起,但两个字的格式(字体、颜色)等,那么在RTF中这两个字就不在一起了,解决的办法可能只有在数据库中另行建立一个字段,用来保存纯文本的内容,查询时根据此字段来判断
参考技术A Text1.Text和RichTextBox1.Text什么关系,貌似是个简单问题被你说得复杂了!!!

C#中,如何让richTextBox旁边的滚动条始终处于最下方

先有两个richTextBox,当我在下面打字,就会追加到上面。我现在想怎样跟QQ的功能一样,使滚动条自动往下滚。因为每当我打新句子,虽然可以出现在上面,但是滚动条没动啊!还要拖才能看得见。。。

参考技术A 是richTextBox1的ScrollToCaret属性 ,将控件的内容滚动到当前插入符号位置,在richTextBox1_TextChanged事件中加入代码:richTextBox1.ScrollToCaret();就ok了。 参考技术B richTextBox1.ScrollToCaret();本回答被提问者采纳

以上是关于如何查询数据库中richtextbox存入的内容?的主要内容,如果未能解决你的问题,请参考以下文章

vb中怎么把richtextbox中的信息以二进制形式存入数据库的某个字段?

在C#的RichTextBox中如何使特定文字显示颜色

如何使用 RichTextBox 显示 html 内容?

如何读取或者打印C#中RichTextBox中的文本内容?

如何使用实体框架将 RichTextBox 内容存储到 WPF 中的 SQLServer 数据库

已解决如何从(MySQL)表中检索 RichText 内容到 WPF RichTextBox