SQL Server 2005でデータ型がTEXTの列を使用して、改行やタブ文字などでフォーマットする必要のある文字列を格納する必要があります。
ストアドプロシージャを呼び出す前に、VS2010のテキストビジュアライザーで送信するテキストを表示するためのブレークポイントを追加しました。すべての書式設定は正確に希望どおりですが、データベースのセルに移動すると、データをコピーすると、フォーマットが失われます。私が見ることができることから、文字列に改行文字またはタブ文字が存在するたびに、テキストデータ型はそれをスペースに置き換えるだけです。改行の場合はvbNewlineを使用し、タブの場合はvbTabまたはXml.Formatting.Indentedを使用しています
列のデータ型は変更できないことに注意してください。これは、特定の目的で使用する必要がある単なるテーブルだからです。
これをデータベースでテキストのデータ型で正しくフォーマットするための提案はありますか?
例:
テーブルを表すSQLテーブルスクリプト:
CREATE TABLE [dbo].[FooLog](
[FooID] [int] IDENTITY(1,1) NOT NULL,
[FooInfo] [text] NULL )
Stringbuilderコード:
Dim sb As New StringBuilder()
sb.AppendFormat("{0}{1}", "Some text", vbNewLine)
sb.AppendLine("Some foo bar data")
sb.AppendLine(String.Format("{0}data{1}{0}some more data", vbTab, vbNewLine))
Dim stringToStoreInFooInfo As String = sb.ToString()
dbに保存:
db.AddInParameter(cmd, "FooInfo", SqlDbType.Text, stringToStoreInFooInfo)
現時点ではコードで読み返していません...Ctrl-Cまたは右クリックして「コピー」を使用してセルからコピーしています