Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在SQL中使用富文本框保存图像和格式化文本并在crystal report VB.NET上显示_Sql Server_Vb.net_Crystal Reports - Fatal编程技术网

Sql server 如何在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

如何在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.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有多大)