gpt4 book ai didi

asp.net - 为什么我在 asp.net 中收到数据库连接错误?

转载 作者:搜寻专家 更新时间:2023-10-30 23:13:50 25 4
gpt4 key购买 nike

我正在尝试以下代码:

SqlConnection con = new SqlConnection();
con.ConnectionString = Userfunctions.GetConnectionString();
con.Open();
for (int i = 0; i < studList.Rows.Count; i++)
{
//string a = ((DropDownList)studList.Rows[i].FindControl("actionmenu")).SelectedValue;

string grade = ((DropDownList)studList.Rows[i].FindControl("actionmenu")).SelectedValue;
string studentID = studList.Rows[i].Cells[1].Text;
string courseNumber = MyGlobals.selectedCourse.Substring(MyGlobals.selectedCourse.Length-3);
string courseCode = MyGlobals.selectedCourse.Substring(0, MyGlobals.selectedCourse.Length - 3);
SqlCommand com = new SqlCommand("update RegisterTable set Grade=@grade where StudentID=@studentID and CourseCode=@courseCode and CourseNumber=@courseNumber", con);
com.Parameters.AddWithValue("@grade", grade);
com.Parameters.AddWithValue("@studentID", studentID);
com.Parameters.AddWithValue("@courseCode", courseCode);
com.Parameters.AddWithValue("@courseNumber", courseNumber);
com.ExecuteNonQuery();

try
{
SqlDataAdapter da2 = new SqlDataAdapter(com);

DataTable dt2 = new DataTable();
da2.Fill(dt2);
DataRow dr2 = dt2.Rows[0];

Course c = new Course(dr2["InstructorID"].ToString(), dr2["CourseCode"].ToString(), dr2["CourseNumber"].ToString(), dr2["CourseName"].ToString(), dr2["Term"].ToString(), dr2["CRN"].ToString(), dr2["Level"].ToString(), dr2["Credit"].ToString(), dr2["Description"].ToString(), dr2["Capacity"].ToString());
Register reg = new Register(c, MyGlobals.student);

MyGlobals.student.dropCourse(reg);

}
catch (Exception) { }
con.Close();

即使我打开了数据库连接,它也给出了一个错误,指出 ExecuteNonQuery 需要一个打开且可用的连接。连接的当前状态是关闭的。为什么任何人都可以看到这种情况?谢谢

最佳答案

您正在关闭 for 循环内的连接,因此在第二次迭代时,连接未打开。它应该看起来像这样:

SqlConnection con = new SqlConnection();
con.ConnectionString = Userfunctions.GetConnectionString();
con.Open();
for (int i = 0; i < studList.Rows.Count; i++)
{
...
SqlCommand com = new SqlCommand(..., con);
...
com.ExecuteNonQuery();

try
{
...
}
catch (Exception) { }
}
con.Close();

关于asp.net - 为什么我在 asp.net 中收到数据库连接错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16948500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com