【发布时间】:2017-09-21 14:15:24
【问题描述】:
我有一个类 DBConnectionClass 和一些相关的类。 我有一个 InsertQueryMethod 如下
public string InsertQuery
{
get { return InsertQuery; }
set { InsertQuery = schools.SchoolsInsertQuery + branches.BranchInsertQuery + students.StudentsInsertQuery ; }
}
类中的关联查询是:
public string StudentsInsertQuery = " INSERT INTO AddStudents (FirstName, LastName, PhoneNo, EmailId) VALUES (@FirstName, @LastName, @PhoneNo, @EmailId) ";
public string StudentsUpdateQuery = " UPDATE AddStudents SET(FirstName=@FirstName, LastName=@LastName, PhoneNo=@PhoneNo, EmailId=@EmailId) ";
public string StudentsDeleteQuery = " DELETE FROM AddStudents ";
public string StudentsSelectQuery = " SELECT * FROM AddStudents WHERE Id=@ID ";
类似的情况是分支和学校类。 我收到此错误:
在 SchoolManagementSystemOOP.dll 中发生了“System.StackOverflowException”类型的未处理异常。在 DBConnectionClass 中获取 {return InsertQuery;}。我的项目中有这个错误。请告诉我正在发生的事情以及如何处理此异常。
【问题讨论】:
-
我立即看到堆栈溢出。您的二传手将导致相同的异常。你知道什么是堆栈溢出,以及属性 get/set 是如何工作的吗?
-
您使用的属性错误。查找有关 get/set 的一些基本信息以开始使用 :)
-
对不起,你的setter原样不会造成溢出,但是完全错了……
标签: c# sql visual-studio