OLEDB Sum error: Data type mismatch in criteria expression. VB.NET
OLEDB Sum error: Data type mismatch in criteria expression. VB.NET
请帮忙!
当我尝试用两个条件对一列求和时出现错误:
Data type mismatch in criteria expression.
这是 sql 代码:
sql1 = "SELECT SUM(quantityofproduct) AS Expr1 FROM (SP001) where year = "2016" AND month = 1"
有 4 列:
1.ID
2.quantityofproduct
3.Year
4.month
SP001 是表的名称。
我尝试使用日期列格式和 &datetimepicker1.value/text& 作为条件,但没有成功。
感谢您的帮助。
如果字段类型是 varchar(30),您可以像这样使用引号 '' :
sql1 = "SELECT SUM(quantityofproduct) AS Expr1 FROM (SP001) where year = '2016' AND month = '1'"
但是,我建议您将列年和月的类型更改为 Integer
并使用参数来避免像这样的 SQL 注入:
Dim query As String = "SELECT SUM(quantityofproduct) AS Expr1 FROM (SP001) " &
"where year = @year And month = @month"
Dim cmd As New OleDbCommand(query, connection)
cmd.Parameters.AddWithValue("@year", YearValue)
cmd.Parameters.AddWithValue("@month", MonthValue)
Dim sumQuantity As Int32 = Convert.ToInt32(cmd.ExecuteScalar())
YearValue 和 MonthValue 是搜索的年份和月份的值。
请帮忙! 当我尝试用两个条件对一列求和时出现错误:
Data type mismatch in criteria expression.
这是 sql 代码:
sql1 = "SELECT SUM(quantityofproduct) AS Expr1 FROM (SP001) where year = "2016" AND month = 1"
有 4 列:
1.ID
2.quantityofproduct
3.Year
4.month
SP001 是表的名称。
我尝试使用日期列格式和 &datetimepicker1.value/text& 作为条件,但没有成功。
感谢您的帮助。
如果字段类型是 varchar(30),您可以像这样使用引号 '' :
sql1 = "SELECT SUM(quantityofproduct) AS Expr1 FROM (SP001) where year = '2016' AND month = '1'"
但是,我建议您将列年和月的类型更改为 Integer
并使用参数来避免像这样的 SQL 注入:
Dim query As String = "SELECT SUM(quantityofproduct) AS Expr1 FROM (SP001) " &
"where year = @year And month = @month"
Dim cmd As New OleDbCommand(query, connection)
cmd.Parameters.AddWithValue("@year", YearValue)
cmd.Parameters.AddWithValue("@month", MonthValue)
Dim sumQuantity As Int32 = Convert.ToInt32(cmd.ExecuteScalar())
YearValue 和 MonthValue 是搜索的年份和月份的值。