首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否将varbinary从sql加载或转换为文本框文本?

是否将varbinary从sql加载或转换为文本框文本?
EN

Stack Overflow用户
提问于 2012-08-08 15:44:48
回答 1查看 2.5K关注 0票数 1

我是C#编程的新手。

目前,我尝试将一个文本文件保存并加载到sql server。我在youtube上观看和搜索了一些视频和文档。他们将图像文件存储到sql中。我尝试并已将文本文件保存到服务器(二进制数据)。现在,我坚持如何加载或转换它:

当我保存它时,我使用了memorystream:

代码语言:javascript
复制
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(textreview.Text);
byte[] theBytes = Encoding.UTF8.GetBytes(textreview.Text);
ms.Position = 0;
ms.Read(theBytes, 0, theBytes.Length);

//insert value to server
SqlCommand cmdb = new SqlCommand("insert into Assignment(text) values (@text)", con);
cmdb.Parameters.AddWithValue("@textname", textPathLabel.Text);
cmdb.Parameters.AddWithValue("@text", theBytes);

现在我试着加载它,但是我卡在这里了!

代码语言:javascript
复制
//load from sql
byte[] picarr = (byte[])dr["text"];
ms = new MemoryStream(picarr);
ms.Seek(0, SeekOrigin.Begin);
StreamReader reader = new StreamReader(ms);
string text = reader.ReadToEnd();
textreview.Text = text;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-08 15:57:31

下面是一个关于如何将文本转换为字节然后再转换回来的示例:

var bytes = Encoding.UTF8.GetBytes("test");

这将为您提供一个字节数组,如下所示:

{ 116, 101, 115, 116 }

现在,为了再次获得文本,您可以像这样使用Encoding.UTF8.GetString()

Encoding.UTF8.GetString(bytes);

这意味着您可以在保存值时简单地执行以下操作:

cmdb.Parameters.AddWithValue("@text", Encoding.UTF8.GetBytes(textreview.Text));

然后,在重新加载它时,您只需执行以下操作:

textreview.Text = Encoding.GetString((byte[])dr["text"]);

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11859926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档