你的SET @sql 里引用 变量了的,如:@ListName. 你没有给这个变量指定值 exec(@sql)时自然会报错,因为你执行的是一个带变量而未给值的SQL脚本 你可以把变量值拼到SQL里去如: set @sql='select top 20 Number,StuName,Specialty,Class,AwardLevel,CollegeCheck,DepartmentCheck from ApplicationResult where LIstName='+@ListName+' and CollegeCode='+@CollegeCode+' and AcademicYear='+@AcademicYear 注意各变量的类型,或许要进行适当的转化,你自己去处理... 或者使用系统函数 sp_executesql 给参数指定值 如何使用查SQL 联机帮助
你没有给这个变量指定值
exec(@sql)时自然会报错,因为你执行的是一个带变量而未给值的SQL脚本
你可以把变量值拼到SQL里去如:
set @sql='select top 20 Number,StuName,Specialty,Class,AwardLevel,CollegeCheck,DepartmentCheck from ApplicationResult where LIstName='+@ListName+' and CollegeCode='+@CollegeCode+' and AcademicYear='+@AcademicYear
注意各变量的类型,或许要进行适当的转化,你自己去处理...
或者使用系统函数 sp_executesql 给参数指定值
如何使用查SQL 联机帮助
Oda.SelectCommand.Parameters.Add("ListName", System.Data.OleDb.OleDbType.VarChar).Value = ddlListName.SelectedValue.ToString();那个"ListName"应该改为和存储过程中一致的"@ListName"
Oda.SelectCommand.Parameters.Add("ListName", System.Data.OleDb.OleDbType.VarChar).Value = ddlListName.SelectedValue.ToString();那个"ListName"应该改为和存储过程中一致的"@ListName"
上面对的```你添加参数的时候 变量名都是没加@符号````