- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:長文クエリをアプリから送る方法)
長文クエリをアプリから送る方法
このQ&Aのポイント
- 現在、VisualStudio(C#)と、SQLServer2005EXPRESSでアプリ開発をしています。アプリのワンボタンでストアドを作成する方法を教えてください。
- アプリユーザーがワンボタンで「RECOVERY_PROCEDURES.sql」の内容のストアドが作成できる方法を教えてください。
- 大量の文字列を変数に入れる方法を試しましたが、改行が入った途端にビルドエラーが多発しました。どうすればいいですか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
おつかれさまです。 >手段は選びません といいつつ、でも楽にやりたいと思っていないでしょうか? 以下のように改行と"+"を補う手間を惜しまなければ、できますよ。 もしくは、そのsqlをアプリ内の別ファイルに持つことが許されているなら、テキストとして読み出して セットしてやれば、同じことができると思います。 string crlf="\r\n"; SqlConnection cConnection= new SqlConnection(); cConnection.ConnectionString="(略)"; cConnection.Open(); System.Data.SqlClient.SqlCommand hCommand = cConnection.CreateCommand(); hCommand.CommandText = "CREATE PROCEDURE XXX_01 …"+crlf +"AS"+crlf +"(中略)"+crlf +"GO"+crlf +"CREATE PROCEDURE XXX_02 …"+crlf +"AS"+crlf +"(中略)"+crlf +"GO"+crlf +"CREATE PROCEDURE XXX_03 …"+crlf +"AS"+crlf +"(中略)"+crlf +"GO"; hCommand.ExecuteNonQuery(); cConnection.Close();
お礼
amshid6さん毎度本当にありがとうございます。 .net C++ C# 改行 等のキーワードで「"\r\n"」は良く見かけまして 「本当に改行してどうするんだ」と頭を抱えておりました。 >といいつつ、でも楽にやりたいと思っていないでしょうか? おっしゃるとおりです。 テキストエディタに無改行で長い1行の文字列を作りそれを貼り付け、 変数宣言の直後にprint @hensuがきた時など、その箇所が DECLARE @hensu int,@hensu2 intprint @hensuprint @hensu2… 実際の文を編集している最中では途中でわけが判らなくなり、 こんなやり方が正しいはずが無いとおもいつつ迷走しておりました。 >"xxxx"+[変数名]+"xxxxxx" これはまさしくC言語で言うところのstrcat 1行の改行しない文字列を作成する為にはまさに必要十分な方法ですね。 そして、検索キーワードを変えて調べ直して、 今回のようなケースの場合、検索キーワードに含めるべきは "改行"ではなく、"連結"、"追加"、"接続"(これは紛らわしいかも) と言った単語で調べる出来だった事も気づけました。 どうもありがとうございました。