基于三层架构开发DAL层问题总结

六月ゝ 毕业季﹏ 提交于 2019-12-10 22:53:02

基于三层架构开发DAL层问题总结

1.面临多条件查询时sql脚本问题where 1 = 1的使用,可以简便sql脚本的连接

//说明当没有选择班级选项时classId = -1
public SqlDataReader GetReader(int classId, string studentId, string studentName)
{
	List<SqlParameters> paramList = new List<SqlParameters>();//因为不知道参数有几个,所有不能用数组
	string sql = "select StudentId, StudentName, Gender, ClassName from Students ";
	sql += "inner join StudentClass on Students.ClassId = Student.ClassId ";
	sql += "where 1 = 1 ";
	if(studentId.Lenght != 0)
	{
		sql += "and StudentId = @StudentId ";
		paramList.Add("@StudentId",studentId);
	}
	else
	{
		if(classId != -1)
		{
			sql += "and Students.ClassId = @ClassId ";
			paramList.Add("@ClassId",classId);
		}
		if(studentName.Length != 0 && studentName != null)
		{
			sql += "and StudentName like @StudentName + '%' ";
			paramList.Add("@StudentId",studentId);
		}
	}
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!