2017-06-09 1 views
0

複数行のテキストボックスにテキストを入力しようとしていますが、そのテキストボックスはSQL Serverデータベースに転送され、次にそのデータベースから取得され、グリッドビューのラベル内に表示されます。これまでのところ、これはラベル複数行のテキストボックスからSQLデータベースに改行を転送してから、それらをgridviewラベルで適用する方法はありますか?

<asp:Label ID="NationalProjectDescriptionLabel" `CssClass="bodyText" runat="server" Text='<%# Eval("NationalProjectDescription").ToString().Replace(System.Environment.NewLine, "<br />") %>' />` 

に私のコードですが、テキストボックスに入力された改行はそもそも、データベースに全体でコピーされるように表示されません。

これは私が戻ってデータが上に表示されるようにしたい知っていれば、すべてのヘルプは大幅に、データベースへの途中で

+0

挿入時に特殊文字を追加してから、dbから情報を取得したときに、その文字をスプライスすることができます。それは理にかなっていますか? – TGarrett

+0

私は本当にすみません、私はこれにかなり新しいです..まだ学生です。少し拡大できますか?ありがとう –

+0

なぜ改行がデータベースにコピーされていないと思いますか? –

答えて

1

をいただければ幸いデータベースに

public static String createNewNationalProject(string strTitle, string strDescription) 
{ 
SqlConnection conn = openConnection();//Open Connection 

string strSQL = "INSERT INTO NationalProject(NationalProjectTitle, " + 
      " NationalProjectDescription) " + 
      " VALUES('" + strTitle + "', '" + strDescription + "')";//Insert Into Statement 

SqlCommand cmd = new SqlCommand(strSQL, conn);//Close Connection 

cmd.ExecuteNonQuery(); 

closeConnection(conn); 
return strTitle;//Display Success 

を転送するための私のコードですラベル各行の間にキャリッジリターンがあるかのように見えるので、私は私のために

REPLACE(@YourString, CHAR(10) + CHAR(13), '<br />') 

作品を置き換える使用して保管してください。または、データベースの途中で交換を行うこともできます。どちらが好きなのか。

ちょうど脇に、あなた自身の好意を持ち、コマンドパラメータを使ってストアドプロシージャにデータを渡してください。コードはテキストリテラルとして扱われるため、SQLインジェクションは問題になりません。なぜ人々がフロントエンドのSQLコードを書いているのかわからない。

+0

そして、データベース接続を作成するための呼び出しをキャッチするエラーはありません。エラーがスローされると、オープンな接続で終わるでしょう。 –

+0

私はあなたが学生だと言っていることを知っていますが、あなたが教えていることを何でもしているなら、あなたを教えている人は分かりません。プロシージャに渡された文字列を返す最後の行には、 'Display Success'とコメントされています。データベースへの挿入が成功したかどうかはどうやって分かりますか? –

関連する問題