1

私はC#プログラミングの初心者です。
現在、テキストファイルを保存してSQLサーバーにロードしようとしています。YouTubeでいくつかのビデオとドキュメントを見て検索しました。彼らは画像ファイルをSQLに保存しました。テキストファイルをサーバーに保存しようとしました(バイナリデータ)。今、私はそれをロードまたは変換する方法を突き止めました:

保存するときは、メモリストリームを使用しました:

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;
4

1 に答える 1

4

テキストをバイトに変換してから元に戻す方法の例を次に示します。

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"]);

于 2012-08-08T07:57:30.803 に答える