2016-09-20 8 views
-1

Visual StudioのSQLクエリを正しくフォーマットするのに手伝ってくれる人がいますか?以下は C#visual studioのクエリの正しい書式

はそれが1、よりsplit_dlvが1

  SqlCommand cmdUpd2 = new SqlCommand(" WITH cte AS(
               + "SELECT master_seq" 
               + "FROM[ZS_CS_EVO_Integration].[dbo].[CS_Consolidation]" 
               + "where delivery_date = yesterday and[master_seq] <> 0" 
               + "GROUP BY master_seq" 
               + " HAVING count(master_seq) > 1 '" + yesterday + "'", IntConnect) 
               + "UPDATE c" 
               + "SET[split_dlv] = 1" 
               + "FROM[dbo].[CS_Consolidation] c" 
               + "INNER JOIN cte t" 
               + "ON t.master_seq = c.master_seq and c.delivery_date = yesterday))"; 
+1

あなたの最初の行で全体を包むことができます。 [質問]を読んで、質問をする前にこのエラーを調べてみてください。 – CodeCaster

+0

あなたの最初の行に二重引用符がありません –

+0

数(master_seq)> 1 '"+昨日+"' "、IntConnect)も見逃しています –

答えて

1

はあなたのエラーの可能性があります値で更新されますがある場合は、それをカウントし、マスターシーケンスを見て、私のコードのショートのコードですがありません。前声明、で、それは次のようにする必要があります。

良いと一度オブジェクトを初期化するので、文字列、より少ないメモリを占有append.StringBuilder文字列の代わりにのStringBuilderを使用するように、文字列はそれぞれのメモリを占有しながら、それゆえ操作を追加し、より多くのメモリを使用してください。

StringBuilder sb=new StringBuilder(); 
sb.Append(";WITH cte AS("); 
sb.Append(" SELECT master_seq"); 
sb.Append(" FROM[ZS_CS_EVO_Integration].[dbo].[CS_Consolidation]"); 
sb.Append(" where delivery_date = yesterday and[master_seq] <> 0"); 
sb.Append(" GROUP BY master_seq"); 
sb.Append(" HAVING count(master_seq) > 1 '" + yesterday + "'"); 
sb.Append(" , IntConnect)"); 
sb.Append(" UPDATE c"); 
sb.Append(" SET[split_dlv] = 1"); 
sb.Append(" FROM[dbo].[CS_Consolidation] c"); 
sb.Append(" INNER JOIN cte t"); 
sb.Append(" ON t.master_seq = c.master_seq and c.delivery_date = yesterday))"); 

SqlCommand cmdUpd2 = new SqlCommand(sb.ToString()); 

注:私はまだsb.Append( "IntConnect)")を使用して明確ではありませんよ。を照会して、それを更新してから試してください

0

なぜコードが多く表示されるのかは、SQLコードをViewまたはプロシージャに置いてsqlコマンドでビューまたはプロシージャを実行するだけです。

しかし、手続きのためにコマンドが

command.CommandType = CommandType.StoredProcedureになることに注意してください。

これはあなたがそう、それは複数行にまたがることができ、あなたの文字列の前@シンボルを追加することができ、すべてのmessup

0

を削減します。そして、あなたはどこにでも

+ "yoda yoda"を持っている必要はありません。そして、あなたはそれに変数を挿入する必要がある場合、あなたは単に終了引用符が欠落しているstring.Format

関連する問題