2010-11-23 3 views
0

私はVisual Studio 2008を実行しており、#tempテーブルを作成する権利をすべて持っていると言われています。私はこれを前に行っていますが、何らかの理由で新しいアプリケーションのSQLが常に0行を返します。SQLステートメントはSQL Serverで実行されます - Visual Studioではなく

私は、SQL文字列を作成し、SQLExecute関数に

Private Function SQLExecute(ByVal sSQL As String) As DataTable 
    Dim rtnTable As New DataTable() 
    Dim sConn As New SqlConnection(My.Application.sqlConRecvInsp) 
    Dim sCmd As New SqlCommand(sSQL, sConn) 
    Dim taAdapter As New SqlDataAdapter(sCmd) 

    Try 
     sConn.Open() 
     sCmd.CommandTimeout = 0 
     taAdapter.Fill(rtnTable) 
     sConn.Close() 
    Catch ex As Exception 
     MessageBox.Show("SQL Failed at: " & ex.Message & vbNewLine & ex.StackTrace) 
    End Try 

    sConn.Dispose() 
    sCmd.Dispose() 

    Return rtnTable 
End Function 

を渡し

Friend sqlConnProducts as String 

としての私のアプリケーションイベントに保存されているSQL接続文字列を持っている私も(のDebug.Printを持っていますsql)の作成フェーズで実行します。デバッグから出力を実行すると、約7kのレコードが得られます。助言がありますか?

+4

あなたは一時テーブルが何であるか知っていますか? – Lucero

+0

あなたの種類の情報については、 'sConn.Dispose()'と 'sCmd.Dispose()'を 'Finaly'節に囲んで、あなたのコードがスローされたかどうかに関わらず処理されるようにしてください。さらに、最良のことではなく、接続のインスタンス化とコマンドの初期化を 'Using ... End Using'ブロックに囲むことをお勧めします。 –

答えて

1

はあなたのソリューションにあなたの道を照らすかもしれないいくつかのリンクです:

  1. SQL Team - Temporary Tables
  2. Eliminate the Use of Temporary Tables For HUGE Performance Gains;
  3. Differences between SQL Server temporary tables and table variables;
  4. Should I use a #temp table or a @table variable?

最後に、私はここにあなたのニーズに適した私は、一時テーブルを疑います。

+0

投稿ありがとうございます。これは役に立ちました。私は派生テーブルを使用してこれを行うことができることを認識しました。だから私はそれを試しました。しかし、sqlはVS内の何も返さない。 –

+0

申し訳ありませんが、私はこれに新しいです。私はリターンテーブルの値を見ていて、行数が0だったと言っていました。DataGridを追加してDataTableをdg.datasourceにバインドし、7190レコードにデータが格納されています...だから私はこれがちょうどインテリジェンスの問題は適切に評価していないか、インテリシスの仕組みを誤解しています。 –

+0

@GeekedAndTweaked:バードを引用するには、「すべてがうまく終わる」。 ( 'コース、同じ男は一般的にステージの方向を含む "Alarumsと小旅行" ... :-) –

1

SQL Serverの一時テーブルに関して、何が起こっているかについてのいくつかのガイダンスを提供するかもしれません。

http://weblogs.sqlteam.com/mladenp/archive/2006/11/03/17197.aspx

を共有し、お楽しみください。ここで

+0

ポストに感謝します。それは役に立ちます。私が言うことができるから。私は選択コマンドを実行する前にスコープを失うことはありません。 –

関連する問題