ITPub博客

首页 > 数据库 > > 【SqlServer】【问题收集】必须声明标量变量

【SqlServer】【问题收集】必须声明标量变量

作者:TTT1234 时间:2023-02-15 15:40:59 0 删除 编辑

1   问题概述

 在DAL层,通过标量给变量赋值时,出现如下异常

 


我们来看看在数据访问层的SQL语句:

//根据EmployeeName条件获取数据
public DataTable GetEmployeeToTable(string EmployeeName)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT EmployeeID,EmployeeName,EmployeeMajor, EmployeeDepartment,EmployeeTel,EmployeeEmail, EmployeeJiGuan,EmployeeAddress,EmployeePosition,EmployeeBirthday ");
strSql.Append(" WHERE EmployeeName=@EmployeeName ");
SqlParameter[] parameters = {
new SqlParameter("@EmployeeName",SqlDbType.VarChar,50)
};
parameters[0].Value = EmployeeName;

return DbHelperSQL.GetDataTable(strSql.ToString());
}

2   问题分析与解决

2.1 问题分析

变量参数未传递进去

2.2  问题解决

将参数传递进去即可

public DataTable GetEmployeeToTable(string EmployeeName)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT EmployeeID,EmployeeName,EmployeeMajor, EmployeeDepartment,EmployeeTel,EmployeeEmail, EmployeeJiGuan,EmployeeAddress,EmployeePosition,EmployeeBirthday ");
strSql.Append(" WHERE EmployeeName=@EmployeeName ");
SqlParameter[] parameters = {
new SqlParameter("@EmployeeName",SqlDbType.VarChar,50)
};
parameters[0].Value = EmployeeName;
return DbHelperSQL.Query(strSql.ToString(), parameters).Tables[0];
}

3   版权

本文来源https://www.cnblogs.com/wangjiming/p/7615618.html

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69953058/viewspace-3147478/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: GreenPlum集群安装
请登录后发表评论 登录
全部评论

注册时间:2019-11-13

  • 博文量
    566
  • 访问量
    5209