0

クエリを実行しようとしたときに問題が発生しました。次のエラーが表示されます。

列「m」、ユーザー定義関数または集計「m.gender」が見つからないか、名前があいまいです

コード:

 myConnection.Open()
 Dim myReader As SqlDataReader = myCommand.ExecuteReader() /* Problem is here */

 Return myReader

SQL Server で直接実行すると、クエリは正常に実行されます。問題は、アプリケーションのボタン クリック イベントで実行される場合です。(VB.NET)

Pls、クエリ全体を確認してください

    SELECT pt.color as Color, m.model As Model, m.gender AS Gender,

       SUM(CASE 
             WHEN MONTH(o.data_ins) = 1 THEN 1 
             ELSE 0 
       END) Jan,

       SUM(CASE 
             WHEN MONTH(o.data_ins) = 2 THEN 1 
             ELSE 0 
       END) Feb, 

       SUM(CASE 
             WHEN MONTH(o.data_ins) = 3 THEN 1 
             ELSE 0 
       END) Mar, 

       SUM(CASE 
             WHEN MONTH(o.data_ins) = 4 THEN 1 
             ELSE 0 
       END) Apr,

       SUM(CASE 
             WHEN MONTH(o.data_ins) = 5 THEN 1 
             ELSE 0 
       END) May,

       SUM(CASE 
             WHEN MONTH(o.data_ins) = 6 THEN 1 
             ELSE 0 
       END) Jun,

       SUM(CASE 
             WHEN MONTH(o.data_ins) = 7 THEN 1 
             ELSE 0 
       END) Jul,

       SUM(CASE 
             WHEN MONTH(o.data_ins) = 8 THEN 1 
             ELSE 0 
       END) Ago,

       SUM(CASE 
             WHEN MONTH(o.data_ins) = 9 THEN 1 
             ELSE 0 
       END) Sep,

       SUM(CASE 
             WHEN MONTH(o.data_ins) = 10 THEN 1 
             ELSE 0 
       END) Oct,

       SUM(CASE 
             WHEN MONTH(o.data_ins) = 11 THEN 1 
             ELSE 0 
       END) Nov,

       SUM(CASE 
             WHEN MONTH(o.data_ins) = 12 THEN 1 
             ELSE 0 
       END) Dec

FROM   models m 
       INNER JOIN product_type pt 
               ON m.model_id = pt.model_id
       INNER JOIN product_orders po 
               ON pt.producttype_id = po.producttype_id 
       INNER JOIN orders o 
               ON po.order_id = o.order_id 

WHERE YEAR(o.date_ins) = 2013 and pt.available = 1 and p.status = 'shipped'

GROUP  BY pt.color,
        m.model, 
          m.gender

ORDER BY  pt.color,
        m.model, 
          m.gender 

>

Public Shared Function ExecutaReader(ByVal strSQL)

        Dim strConn As String
        strConn = ConfigurationSettings.AppSettings("strConn")

        Dim myConnection As New SqlConnection(strConn)
        Dim myCommand As New SqlCommand(strSQL, myConnection)

        myConnection.Open()
        Dim myReader As SqlDataReader = myCommand.ExecuteReader()

        Return myReader


    End Function
4

1 に答える 1