C#操作数据库的一个问题

来源:百度知道 编辑:UC知道 时间:2024/09/28 08:06:37
int ClassId = Convert.ToInt32(comboBox1.SelectedValue.ToString());
string sqlScore = "SELECT Student.StudentID AS 学号, Student.Name AS 姓名, Class.ClassName AS 班级, Subject.SubjectName AS 课程, Score.Score AS 分数"+" FROM Subject INNER JOIN ((Class INNER JOIN Student ON Class.ClassID=Student.ClassID) INNER JOIN Score ON Student.StudentID=Score.StudentID) ON Subject.SubjectID=Score.SubjectID";
如何将ClassId的限制条件添加到SQL语句中去。
还是有错误,下面是sqlScore的值
SELECT Student.StudentID AS 学号, Student.Name AS 姓名, Class.ClassName AS 班级, Subject.SubjectName AS 课程, Score.Score AS 分数 FROM Subject INNER JOIN ((Class INNER JOIN Student ON Class.ClassID=Student.ClassID and Class.ClassID=1) INNER JOIN Score ON Student.StudentID=Score.StudentID) ON Subject.SubjectID=Score.SubjectID
问题是“不支持连接表达式”
注意:我的要求是选择comboBox1.SelectedValue中的值作为我要选择的班级的限制条件,意思也就是选择变量ClassId的班级!

string sqlScore =strin.Format(@"SELECT Student.StudentID AS 学号, Student.Name AS 姓名, Class.ClassName AS 班级, Subject.SubjectName AS 课程, Score.Score AS 分数 FROM Subject
INNER JOIN Score ON Subject.SubjectID=Score.SubjectID
INNER JOIN Student ON Student.StudentID=Score.StudentID
INNER JOIN Class ON Class.ClassID=Student.ClassID
where Class.ClassID={0}",ClassId );

string sqlScore = "SELECT Student.StudentID AS 学号, Student.Name AS 姓名, Class.ClassName AS 班级, Subject.SubjectName AS 课程, Score.Score AS 分数"+" FROM Subject INNER JOIN ((Class INNER JOIN Student ON Class.ClassID=Student.ClassID and Class.ClassID="+ClassId+") INNER JOIN Score ON Student.StudentID=Score.StudentID) ON Subject.SubjectID=Score.SubjectID";

(在第四行)

问题不清楚 不知道你的限制条件是什么?
是要查询什么范围的号码,还是要根据需要在ID后面加上什么字符之类的?

如果只是普通的判定特定ID的问题,不用在SQL中操作,直接用正则来过滤就可以了

string ClassId = comboBox1.SelectedValue;
string sqlScore = "SEL