SqlException和I';我无法解决它
我在尝试执行查询时遇到了一个问题。我得到了这个错误: 找不到列“m”或用户定义函数或聚合“m.gender”,或名称不明确 代码: 当我直接在SQL Server中执行时,查询运行良好。问题是当它在我的应用程序中的按钮单击事件上执行时。(VB.NET) 请检查我的全部查询SqlException和I';我无法解决它,sql,sql-server,exception,sql-server-2012,sqlexception,Sql,Sql Server,Exception,Sql Server 2012,Sqlexception,我在尝试执行查询时遇到了一个问题。我得到了这个错误: 找不到列“m”或用户定义函数或聚合“m.gender”,或名称不明确 代码: 当我直接在SQL Server中执行时,查询运行良好。问题是当它在我的应用程序中的按钮单击事件上执行时。(VB.NET) 请检查我的全部查询 SELECT pt.color as Color, m.model As Model, m.gender AS Gender, SUM(CASE WHEN MONTH(o.d
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
>
我认为返回表和表模型具有相同的列名
Try m.model As Model2, m.gender AS Gender2,
请在定义MyCommand的位置显示代码。如果看不到它,我们就无法调试它。不要返回读取器,在执行它的地方使用它。您应该返回类似于
IEnumerable
的内容。这是因为我有一个类,我在其中放置了我经常使用的所有代码。让我编辑我的原始帖子如果您在ManagementStudio中运行sql,您应该会得到相同的错误,除非双击错误消息,它会将您带到导致错误的行。这应该有助于您将其隔离。@GarethD我在management studio中运行,它工作正常!
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
Try m.model As Model2, m.gender AS Gender2,