我的网页包含下拉列表,会话[student-id],按钮,gridview
学生将从下拉列表中选择课程并单击注册按钮,然后学生ID和所选课程将添加到gridview。
我的问题是如果他已经注册了这门课程,我该如何向学生显示错误信息。
我的意思是我希望注册按钮检查数据库中是否有该学生选择的课程。
任何帮助??
答案 0 :(得分:0)
只需在btn_click事件
上使用查询int stu_id=int.Parse(stu_id.Text);
query="select stu_id from table where username='"+stu_id+"'";
if(query)
//already registered student
else
//new student
答案 1 :(得分:0)
有几种方法可以实现您的目标,但是如果没有看到任何初始代码,那么几乎不可能实现您正在寻找的内容。因此,我将向您介绍其中两种可能的方法。
在您的情况下处理重复项的第一个也是最明显的方法 将从DropDownList中删除所选课程 注册。这样,用户就无法做到 不止一次选择相同的课程。 代码示例:
public void RemoveCourseByCourseID(string courseID)
{
if(courseList == null || courseList.Items.Count == 0)
return;
ListItem courseItem = courseList.Items.FindByValue(courseID);
if(courseItem == null)
return;
courseList.Remove(courseItem);
}
第二种方法是对每一个GridView行进行检查 验证所选课程的不存在。这是一个 您可以为自己的利益使用的示例代码:
public bool IsCourseExist(string courseID)
{
const int columnCourseID = 0;
foreach(DataRow row in gridView.Rows)
{
if(row[columnCourseID].ToString() == courseID)
return true;
}
return false;
}
答案 2 :(得分:0)
/使用linq ** /
var result =来自c中的dt.AsEnumerable()
c组由新
{
RiskDescription2 = c.Field<dynamic>("Risk description "),
} into g
where g.Count() > 1
select new
{
g.Key.RiskDescription2,
// g.Key.Pin,
Noofrec = g.Count()
};
if (result.ToList().Count > 0)
{
lblErrMsg.Visible = true;
div_err_log.Visible = false;
lblErrMsg.Text = "Risk with same description not allowed.";
return;
}