【SqlServer】【問題收集】必須聲明標量變量


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  問題解決

將參數傳遞進去即可

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

3   版權

 

  • 感謝您的閱讀,若有不足之處,歡迎指教,共同學習、共同進步。
  • 博主網址:http://www.cnblogs.com/wangjiming/。
  • 極少部分文章利用讀書、參考、引用、抄襲、復制和粘貼等多種方式整合而成的,大部分為原創。
  • 如您喜歡,麻煩推薦一下;如您有新想法,歡迎提出,郵箱:2016177728@qq.com。
  • 可以轉載該博客,但必須著名博客來源。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM