当前位置: 首页 > 面试题库 >

使用格式将富文本框的数据存储到数据库

郎鸿朗
2023-03-14
问题内容

我是wpf的新手,我想将富文本框的数据及其格式(斜体,彩色,粗体..)存储到数据库(Mysql)中。目前,当我保存数据时,格式化将被忽略。此外,当我将其从数据库加载回富文本框时,它会在同一行中显示所有文本。期待您的帮助和建议!

public void save()
    {

        MySqlConnection conn = new MySqlConnection(connString);
        MySqlCommand command = conn.CreateCommand();      
        string richText = new TextRange(rt1.Document.ContentStart,  rt1.Document.ContentEnd).Text;

        string s = WebUtility.HtmlEncode(richText); 
        command.Parameters.AddWithValue("@s", s);           
        command.CommandText = "insert into proc_tra (procedures) values (@s)";
        conn.Open();
        command.ExecuteNonQuery();
        conn.Close();
    }

public void load()

    {   MySqlConnection conn = new MySqlConnection(connString);
        MySqlCommand command = conn.CreateCommand();
        command.CommandText = "select * from proc_tra where id_pt=4";
        rt1.Document.Blocks.Clear();            
        conn.Open();            
        MySqlDataReader dr;
        dr = command.ExecuteReader();
        string k="";           
        while (dr.Read())
        {              
            k += dr["procedures"].ToString();
        }
        var p = new Paragraph();
        var run = new Run();
        run.Text = WebUtility.HtmlDecode(k);
        p.Inlines.Add(run);
        rt1.Document.Blocks.Add(p);
    }

问题答案:

要获取将保存在数据库中的格式化文本:

string rtfText; //string to save to db
TextRange tr = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
using (MemoryStream ms = new MemoryStream())
{
    tr.Save(ms, DataFormats.Rtf);
    rtfText = Encoding.ASCII.GetString(ms.ToArray());
}

要恢复从数据库检索到的格式化文本,请执行以下操作:

string rtfText= ... //string from db
byte[] byteArray = Encoding.ASCII.GetBytes(rtfText);
using (MemoryStream ms = new MemoryStream(byteArray))
{
    TextRange tr = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
    tr.Load(ms, DataFormats.Rtf);
}

您还可以改用XAML格式,在加载保存时使用DataFormats.XAML。



 类似资料:
  • 问题内容: 我有我在其中 的,在它被保存和编码的数据: 但是问题在于,用户每次想连接到SQL数据库时都必须选择路径,我想如果可以的话,可以将路径保存到应用程序配置中吗?我想到的其他事情是为文本框设置默认文本值。也许这是一个琐碎且毫无意义的问题。谢谢大家的时间。 问题答案: 您可以使用从txt框传递的路径值更新配置文件,如下所示: 注意 :在Visual Studio中以调试模式测试此方法时,将看到

  • Blackwidow本质上是基于rocksdb的封装,使本身只支持kv存储的rocksdb能够支持多种数据结构, 目前Blackwidow支持五种数据结构的存储:String结构(实际上就是存储key, value), Hash结构,List结构,Set结构和ZSet结构, 因为Rocksdb的存储方式只有kv一种, 所以上述五种数据结构最终都要落盘到Rocksdb的kv存储方式上,下面我们展示B

  • nemo本质上是对rocksdb的改造和封装,使其支持多数据结构的存储(rocksdb只支持kv存储)。总的来说,nemo支持五种数据结构类型的存储:KV键值对(为了区分,nemo的的键值对结构用大写的“KV”表示)、Hash结构、List结构、Set结构和ZSet结构。因为rocksdb的存储方式只有kv一种结构,所以以上所说的5种数据结构的存储最终都要落盘到rocksdb的kv存储方式上。 1

  • 问题内容: 有多少个数据库系统使用JSON进行存储或传输?我知道: CouchDB MongoDB DBSlayer 我记得我在SO用户的个人资料中看到了另一个供应商。该系统使用的是所谓的二进制JSON,但我不记得该产品的名称。 最近,似乎越来越多的DB项目正在将JSON用于持久性存储。其中一些甚至将HTTP用作传输层。 问题答案: MongoDb是使用二进制JSON存储格式的一种。我不知道是否还

  • 问题内容: 有人可以告诉我,在以下情况下如何进行? 接收文件(MS文件,ODS,PDF) 通过Apache Tika提取公元核心元数据+通过jackrabbit-content-extractors提取内容 使用Jackrabbit将文档(内容)及其元数据存储到存储库中 ? 检索文档+元数据 我对第3点和第4点感兴趣… 详细信息:该应用程序正在以交互方式处理文档(一些分析-语言检测,单词计数等。+

  • 我是Hadoop的新手,需要将Hadoop数据存储到MongoDB中。在这里,我使用Pig将Hadoop中的数据存储到MongoDB中。 在给定命令的帮助下,我在Pig Grunt shell中下载并注册了以下驱动程序, 在此之后,我使用以下命令成功地从MongoDB获取了数据。 然后,我尝试使用以下命令将数据从pig bag插入MongoDB,并获得成功。 然后我尝试使用下面的命令Mongo更新