我是C#编程的新手。
目前,我尝试将一个文本文件保存并加载到sql server。我在youtube上观看和搜索了一些视频和文档。他们将图像文件存储到sql中。我尝试并已将文本文件保存到服务器(二进制数据)。现在,我坚持如何加载或转换它:
当我保存它时,我使用了memorystream:
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);现在我试着加载它,但是我卡在这里了!
//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;发布于 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"]);
https://stackoverflow.com/questions/11859926
复制相似问题