2016-07-22 4 views
-1

データの取得にはSQLDataAdapterとFillコマンドを使用し、クエリの挿入、更新、削除にはexecutenonqueryを使用して常に作業しています。SqlCommandとSqlDataAtapterのパラメーター

私は問題があり、何が間違っているのか把握できません。 私はDataTableをRadGridにバインドしています。 DataTableは、特定の月のデータを取得し、必要な情報を含む追加の列を生成します。

私はRadControlフロン選択した月を取得し、ボタンを押した後にデータを送信します。

Protected Sub RadButton1_Click(sender As Object, e As EventArgs) Handles RadButton1.Click 
    Dim fecha As Date 
    fecha = RadMonthYearPicker1.DbSelectedDate 
    miDataTable = objOPRecibo.FacturasEspeciales(fecha.Month, fecha.Year) 
    RadGrid1.Rebind() 
End Sub 

は、これはと呼ばれるオブジェクト内の関数である:

Public Function FacturasEspeciales(Mes As Integer, Anio As Integer) As DataTable 
    Dim FEDataTable As New DataTable 
    Using conection As New SqlConnection(constr) 
     Using cmd As New SqlCommand(@"SELECT 
       SUM(Det_Recibo.dCantidad) Cantidad, 
       Producto.Nombre, 
       SUM(Det_Recibo.mTotal) Valor, 
       SUM((((Det_Recibo.mTotal*100)/95)*1.12)) ESPE 
       FROM Det_Recibo 
        INNER JOIN Enc_Recibo 
        ON Det_Recibo.idRecibo = Enc_Recibo.idRecibo 
        INNER JOIN Producto 
        ON Det_Recibo.idProducto = Producto.IdProducto 
       WHERE MONTH(Enc_Recibo.dFechaFact)[email protected] AND 
        YEAR(Enc_Recibo.dFechaFact)[email protected] 
        Producto.idGasto = 1 OR Producto.idGasto = 2 
        GROUP BY Producto.Nombre") 
      cmd.Parameters.AddWithValue("@Mes", Mes) 
      cmd.Parameters.AddWithValue("@Anio", Anio) 

      Dim sda As New SqlDataAdapter(cmd.CommandText, conection) 
      sda.Fill(FEDataTable) 

     End Using 
    End Using 
    'Return DataTable 
    Return FEDataTable 
End Function 

I {メートル取得は、a @Mesにスカラーエラーが定義されていないか、sda.Fill行に固有のエラーではありません。

私は一種の初心者で、数時間の研究の後、私は何が間違っているのか把握できません。

すべてのヘルプは、それが見つからないためconnection.Open(おそらくです

+2

'あなたが欠落しているAND/ORされている – LarsTech

+1

新しいSqlDataAdapterオブジェクト(CMD)'として暗いSDAをお試しください演算子はYEAR条件の後、Producto条件の前に指定します。 verbatim @文字列を使用すると、問題が明確になります。 – Steve

+0

ありがとうございますSteveが私のデスクトップに戻ったときにそれをチェックします – TikalDog

答えて

0

をapreciatedされるだろう)

Using conection As New SqlConnection(constr) 
conection.open() 
<REST OF YOUR CODE> 
+4

SqlDataAdapterは、接続が閉じられている場合に接続を開きます。 – Steve

+0

スティーブは感謝しています...知っておきたい。 @LarsTechは良い答えがあります。 – objectNotFound

関連する問題