2011-11-12 5 views
0

ここでもう一度おしゃべりしてください。 私はデータベースからWebサービス情報を呼び出して取得するフォームをC#に用意しています。 1つのフィールドは、このクライアントに関するちょうど "ノート"です。 私のフォームは、Notesフィールドに複数の行を許可しますが、私はそれを保存すると(webservice経由でデータベースに送り返します)、改行を認識しません。改行を/ r/n /(これは正しいのでしょうか?)コードで置き換える方法を教えてください。次回データベースから取得するときに、メモフィールドに表示する方法を知っていますか?データベースに返信するときに改行を r nに置き換えてください。

これは私が今使っているコードですが動作しません。

 if (MasterRecord.Customer.Notes.Trim().Length < 1) 
     { 
      string s = ""; 
      foreach (object o in txtNotes.Text) 
      { 
       s += o.ToString() + ("\r\n"); 
      } 
     } 
+1

['String.Replace(String、String)'](http://msdn.microsoft.com/en-us/library/fk49wtc1.aspx)を参照してください。私は['Regex.Replace'](http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.replace%28v=VS.100%29.aspx)自分自身が好きですが、同じ、同じ、本当に。 –

+1

@IzzyG、テキストボックスコントロールのTextプロパティがIEnumerable(foreachループに必要なインターフェイス)をサポートしていないため、コードが機能しない理由があります。データをデータベース(Webサービス内)に保存するコードを投稿できますか?パラメータ化されたストアドプロシージャIMHOを使用する場合、キャリッジリターン/ラインフィードを置き換えるこの問題はありません。また、Customer.Noteに長さ> 0の値がある場合は、if文には入りません。 –

+0

@JeremyThompsonパラメータ化されたストアドプロシージャは、この質問に対して何をしなければなりませんか? –

答えて

3

ちょうど行います

var stringToInsert = txtNotes.Text.Replace("\n", "\r\n"); 
0

あなたは、SQLサーバーで複数行のテキストを保存している、その後例えばカスタム改行指定子で改行を置き換える:%NL%

txtNote.Text.Replace(Environment.NewLine, "%NL%"); 

とデータベースフィールドから取得してから、敬意のアプローチに従います。

MasterRecord.Customer.Notes.Replace("%NL%", Environment.NewLine); 

あなたはすべての後、.NETプラットフォーム上でOKこれにアクセスする場合..私はこのwebserivceをアセス他のプラットフォームについては確認しておりません。..

それは動作しますが、それはそれは%NL保存したアプリケーションを介してデータを処理するトリックですフィールド値の%。

+0

それは動作します!ありがとう!実際のデータベースで "%NL%"などが表示されない理由がありますか?それは隠されている私は考えているので、私はフィールドの内容をコピーするときに、このアプリケーションを実行しているすべてのタイプのコンピュータで動作しない場合、またはこれは、データベースに改行を保存するための最良の方法ではない? –

+0

私はデータベースでそれを見て、私は間違ったフィールドで探していた申し訳ありません 何とか、それを行うには良い方法があれば誰でも知っていますか?私はこの作品を知っていますが、私はいつも最高の可能な方法を確認するために探して、私は/ r/nなどの使用を知っている? –

+0

私がフォームを開くと例外が発生する新しいユーザが –

関連する問題