|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
当然了,现在国内CRM厂商的产品与其说是CRM,但从至少从我的角度分析上来看,充其量只是一个大型的进销存而已了,了解尚浅,不够胆详评,这里只提技术问题静态良多时分我们必要失掉交织列表,比来做课程计划就必要如许的功效,好比要失掉一个班某学期的成就,由于每学期所学科目和数目都是变更的,这就请求静态的查询以失掉成就。并且失掉如许的显现情势:
studentIDstudentNamecourseName1courseName2courseName3……
1lupenda667788……
。
。
。
上面的例子就是为了完成下面的功效,该存取历程触及3张表:
Course表:
CourseID,CourseName,Duration,[Year],MajorID,Semester
StudentData表:
StudentID,StudentName,ClassID……
Student_Course表:
StudentID,CourseID,Score
--依据分歧参数获得成就
--能够失掉某学期,某专业,某班级,某先生的成就
CREATEprocedureGetScore
@Yearint,@Semesterbit,@MajorIDint=null,@ClassIDint=null,@StudentIDint=null
as
declare@varvarchar(200)
declare@sqlvarchar(8000)
set@sql=
--放进一时表
selectdistinctCourseNameinto#tbfromCoursewhereCourse.Year=@YearandCourse.Semester=@Semester
--声明游标
declarecurcursor
forselectCourseNamefrom#tb
opencur
fetchnextfromcurinto@var
while@@fetch_status=0
begin
set@sql=@sql+sum(casewhenCourse.CourseName=+@var+thenStudent_Course.Scoreelse0end)as+@var+,
fetchnextfromcurinto@var
end
set@sql=left(@sql,len(@sql)-1)
set@sql=selectClass.ClassNameas班级,Student_Course.StudentIDas全学号,StudentData.StudentNameas姓名,+@sql+
fromStudentData,Student_Course,Course,Class
whereStudent_Course.CourseID=Course.CourseID
andStudentData.StudentID=Student_Course.StudentID
andStudentData.ClassID=Class.ClassID
--依据输出参数的分歧创立查询语句
if@Yearisnotnull
set@sql=@sql+andCourse.Year=+Cast(@Yearasvarchar(4))--强迫转换为字符串
if@Semesterisnotnull
set@sql=@sql+andCourse.Semester=+Cast(@Semesterasvarchar(1))
if@MajorIDisnotnull
set@sql=@sql+andCourse.MajorID=+Cast(@MajorIDasvarchar(4))
if@ClassIDisnotnull
set@sql=@sql+andStudentData.ClassID=+Cast(@ClassIDasvarchar(4))
if@StudentIDisnotnull
set@sql=@sql+andStudentData.StudentID=+Cast(@StudentIDasvarchar(8))
set@sql=@sql+groupbyClass.ClassName,Student_Course.StudentID,StudentData.StudentNameorderbyStudent_Course.StudentID
exec(@sql)
deallocatecur
droptable#tb
GO
至此,该存取历程完成了我们想要的功效.第一次发文章,请人人多多撑持!
</p>楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 |
|