Sql server 如何在SQL中使用富文本框保存图像和格式化文本并在crystal report VB.NET上显示
如何在SQL中使用富文本框保存图像和格式化文本并在crystal report VB.NET上显示 我尝试用下面的代码在富文本框中插入图像Sql server 如何在SQL中使用富文本框保存图像和格式化文本并在crystal report VB.NET上显示,sql-server,vb.net,crystal-reports,Sql Server,Vb.net,Crystal Reports,如何在SQL中使用富文本框保存图像和格式化文本并在crystal report VB.NET上显示 我尝试用下面的代码在富文本框中插入图像 Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click Dim ff As New OpenFileDialog ff.Filter = "Image Files|*.gif;*.jpg;*.png;*.bmp" ff.Sh
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
Dim ff As New OpenFileDialog
ff.Filter = "Image Files|*.gif;*.jpg;*.png;*.bmp"
ff.ShowDialog()
Dim img As System.Drawing.Image = System.Drawing.Image.FromFile(ff.FileName)
Dim orgData = Clipboard.GetDataObject
Clipboard.SetImage(img)
Me.rtb.Paste()
Clipboard.SetDataObject(orgData)
End Sub
这里我将它插入到SQL中
Dim sname As Integer = Integer.Parse(txt1.Text)
Dim sfname As Integer = 2
Dim scnic As String = rtb.rtf
query &= "INSERT INTO tencmpC1 (qnumber,topic,Umcq)"
query &= "VALUES (@qnumber, @topic,@Umcq )"
Using conn As New SqlConnection(strConn)
Using comm As New SqlCommand()
With comm
.Connection = conn
.CommandType = CommandType.Text
.CommandText = query
.Parameters.AddWithValue("@qnumber", sname)
.Parameters.AddWithValue("@topic", sfname)
.Parameters.AddWithValue("@Umcq", scnic)
conn.Open()
comm.ExecuteNonQuery()
txt10.Text = "question saved "
End With
End Using
我使用nvarchar(max)作为RTB文本的“数据类型到SQL字段”。
我正在为crystal report“crRTFText”使用TextFormat。
请指导我必须做什么以及在哪里进行更改?
提前感谢您不能在字符字段中存储二进制数据(在本例中是插入到RTB的图片)。根据您使用的SQL后端,您需要将数据存储在BLOB/CLOB列中
请参阅以获取示例。您不能在字符字段中存储二进制数据(在本例中是插入到RTB的图片)。根据您使用的SQL后端,您需要将数据存储在BLOB/CLOB列中
请参阅以获取示例。是否可以将
RichTextBox
控件中的RTF作为字符串变量,直接发送到crystal report控件,而无需通过数据库并使其工作?换句话说。问题是两个控件之间的兼容性问题,还是与在数据库中保存和重新加载RTF有关?您需要缩小问题的范围。我将RichTextBox控件中的RTF作为RTF,并通过SQL将其间接发送到crystal report控件。当我只插入格式化文本时,它的工作很好。但是当我尝试插入图像时,它不会显示吗?如上所述,我想保存和检索两个图像+格式化文本?你不明白我的意思。你需要找出你的问题所在。您的问题是Crystal Report控件未正确显示RTF,还是在将RTF保存到数据库然后重新读取时,RTF字符串的值已更改?很抱歉,如果不在SQL中保存RTF数据并在crystal report中添加字段以建立连接,我可以将RTF数据直接插入crystal report中吗?我以前从未使用过crystal Reports,因此我不熟悉它,但是,如果除了SQL Server数据库之外,没有办法将其连接到任何其他类型的数据源,我会感到震惊。您可以将RichTextBox
控件中的RTF作为字符串变量,直接发送到crystal report控件,而不必通过数据库并使其工作吗?换句话说。问题是两个控件之间的兼容性问题,还是与在数据库中保存和重新加载RTF有关?您需要缩小问题的范围。我将RichTextBox控件中的RTF作为RTF,并通过SQL将其间接发送到crystal report控件。当我只插入格式化文本时,它的工作很好。但是当我尝试插入图像时,它不会显示吗?如上所述,我想保存和检索两个图像+格式化文本?你不明白我的意思。你需要找出你的问题所在。您的问题是Crystal Report控件未正确显示RTF,还是在将RTF保存到数据库然后重新读取时,RTF字符串的值已更改?很抱歉,如果不在SQL中保存RTF数据并在crystal report中添加字段以建立连接,我可以将RTF数据直接插入crystal report中吗?我以前从未使用过crystal Reports,因此我不熟悉它,但是,如果除了SQL Server数据库之外,没有办法将其连接到任何其他类型的数据源,我会感到震惊。尊敬的先生,这个链接对我没有帮助。我想使用varchar或varbinary数据类型“将图像存储为RTF是否可行”?可以将图像插入到RTF中,并将结果数据存储在二进制数据类型(varbinary/blob/clob等,具体取决于您的特定SQL引擎)的列中。不过,您不想将两者分开,这只会增加更多的工作和潜在的bug。您只需将整个文档存储在二进制数据类型的列中(最好是一个变量,而不是固定长度的列,除非您事先知道最大的RTF有多大),这个链接对我没有帮助。我想使用varchar或varbinary数据类型“将图像存储为RTF是否可行”?可以将图像插入到RTF中,并将结果数据存储在二进制数据类型(varbinary/blob/clob等,具体取决于您的特定SQL引擎)的列中。不过,您不想将两者分开,这只会增加更多的工作和潜在的bug。您只需将整个文档存储在二进制数据类型的列中(最好是一个变量,而不是固定长度的列,除非您事先知道最大的RTF有多大)