C# Can';我找不到我的“错误”;“提交时不存在数据时读取的尝试无效”;
我需要帮助,因为我已经为用户创建了注册页面,一切都很顺利,直到他们遇到错误 “在不显示数据时读取的尝试无效” 无论何时提交 我一直跟踪bug并进行修复,但仍然无法修复,因为遇到了另一个错误,如“需要关闭连接”等。以下是我的原始代码,需要帮助:C# Can';我找不到我的“错误”;“提交时不存在数据时读取的尝试无效”;,c#,asp.net,visual-studio,C#,Asp.net,Visual Studio,我需要帮助,因为我已经为用户创建了注册页面,一切都很顺利,直到他们遇到错误 “在不显示数据时读取的尝试无效” 无论何时提交 我一直跟踪bug并进行修复,但仍然无法修复,因为遇到了另一个错误,如“需要关闭连接”等。以下是我的原始代码,需要帮助: 出现错误: “/”应用程序中出现服务器错误 堆栈跟踪:[InvalidOperationException:读取时的尝试无效 没有数据。] System.Data.SqlClient.SqlDataReader.CheckDataisReady(Int
出现错误: “/”应用程序中出现服务器错误 堆栈跟踪:[InvalidOperationException:读取时的尝试无效 没有数据。] System.Data.SqlClient.SqlDataReader.CheckDataisReady(Int32 columnIndex、布尔allowPartiallyReadColum、布尔PermitAsync、, 字符串methodName)+6531242 System.Data.SqlClient.SqlDataReader.TryReadColumn(int32i,布尔值 setTimeout,布尔allowPartiallyReadColumn)+81 System.Data.SqlClient.SqlDataReader.GetValueInternal(int32i)+43 System.Data.SqlClient.SqlDataReader.GetValue(int32i)+151 vnetwork.Account.DatabaseEntry.Page_加载(对象发送方,事件参数e) +432 System.Web.UI.Control.LoadRecursive()+71 System.Web.UI.Page.ProcessRequestmain(布尔值 IncludeStages前同步点,布尔值IncludeStages后同步点) +3178 备注:用户告诉我有些时候是让它打开页面一段时间然后 无论何时尝试输入并提交,上面显示的错误以及 有时尝试输入第二次数据
错误发生在哪里?发布包括调用堆栈在内的完整异常。通过调用
ex.ToString()
,这很容易做到。此错误通常与DataReaders相关,并且您的代码似乎没有使用anyHi,错误显示为“在没有数据时尝试读取无效”“无论何时提交第二个数据。第一个条目没有问题,但提交第二个条目时出现错误。哪一行?异常消息已经包含了这一点。同时发布完整消息,包括调用堆栈。在一个50多行的片段中谈论第一篇和第二篇文章毫无帮助。我刚刚编辑了上面的问题,用户仍然有错误。你注意到错误发生在不同的方法中了吗?该错误发生在DatabaseEntry类的Page\u Load
方法中。您是否尝试调试代码,或者只是假设它是按钮的事件处理程序?如果您尝试过调试,调试器将在异常发生时停止。请用相关代码替换您在此处发布的内容
protected void Button9_Click(object sender, EventArgs e)
{
string connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
SqlConnection conn = new SqlConnection(connStr);
System.Data.SqlClient.SqlCommand cmd = conn.CreateCommand();
String email = TextBox3.Text.Trim();
String select = ("select Email from Customer where email=@Email");
cmd.Parameters.AddWithValue("@Email", email);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter();
cmd.CommandText = select;
da.SelectCommand = cmd;
da.Fill(dt);
if (dt.Rows.Count > 0)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", "alert('ERROR!!! Email Exists')", true);
return;
}
else
{
String FullName;
String FirstName;
String LastName;
cmd.Parameters.Add("Type", SqlDbType.NVarChar);
cmd.Parameters["Type"].Value = this.DropDownList2.Text;
cmd.Parameters.Add("NatureBusiness", SqlDbType.NVarChar);
cmd.Parameters["NatureBusiness"].Value = this.DropDownList5.Text;
cmd.Parameters.Add("Title", SqlDbType.NVarChar);
cmd.Parameters["Title"].Value = this.DropDownList1.Text;
cmd.Parameters.Add("FirstName", SqlDbType.NVarChar);
cmd.Parameters["FirstName"].Value = this.TextBox1.Text;
cmd.Parameters.Add("LastName", SqlDbType.NVarChar);
cmd.Parameters["LastName"].Value = this.TextBox2.Text;
cmd.Parameters.Add("Fullname", SqlDbType.NVarChar);
cmd.Parameters["Fullname"].Value = this.TextBox1.Text + " " + this.TextBox2.Text;
cmd.Parameters.Add("Ac_Manager", SqlDbType.NVarChar);
cmd.Parameters["Ac_Manager"].Value = this.DropDownList3.Text;
cmd.Parameters.Add("Remarks", SqlDbType.NVarChar);
cmd.Parameters["Remarks"].Value = this.TextBox13.Text;
cmd.Parameters.Add("City", SqlDbType.NVarChar);
cmd.Parameters["City"].Value = this.TextBox12.Text;
cmd.Parameters.Add("Country", SqlDbType.NVarChar);
cmd.Parameters["Country"].Value = this.DropDownList4.Text;
cmd.Parameters.Add("Job_Title", SqlDbType.NVarChar);
cmd.Parameters["Job_Title"].Value = this.TextBox4.Text;
cmd.Parameters.Add("Company", SqlDbType.NVarChar);
cmd.Parameters["Company"].Value = this.TextBox5.Text;
cmd.Parameters.Add("Mobile_Phone", SqlDbType.NVarChar);
cmd.Parameters["Mobile_Phone"].Value = this.TextBox8.Text + this.TextBox6.Text;
cmd.Parameters.Add("ForeignNoF", SqlDbType.NVarChar);
cmd.Parameters["ForeignNoF"].Value = this.TextBox14.Text + this.TextBox15.Text;
cmd.Parameters.Add("ForeignNoT", SqlDbType.NVarChar);
cmd.Parameters["ForeignNoT"].Value = this.TextBox16.Text + this.TextBox17.Text;
cmd.Parameters.Add("Office_Phone", SqlDbType.NVarChar);
cmd.Parameters["Office_Phone"].Value = this.TextBox9.Text + this.TextBox7.Text;
cmd.Parameters.Add("Staff", SqlDbType.NVarChar);
cmd.Parameters["Staff"].Value = this.Label1.Text;
FirstName = TextBox1.Text;
LastName = TextBox2.Text;
FullName = TextBox1.Text + " " + TextBox2.Text;
cmd.CommandText = "INSERT INTO [Customer] ([Type], [NatureBusiness], [Title], [Firstname], [Lastname], [Fullname], [Company], [Mobile_Phone], [Office_Phone], [ForeignNoF], [ForeignNoT], [Email], [Job_Title], [City], [Country], [Ac_Manager], [Remarks], [Staff]) VALUES (@Type, @NatureBusiness, @Title, @Firstname, @Lastname, @Fullname, @Company, @Mobile_Phone, @Office_Phone, @ForeignNoF, @ForeignNoT, @Email, @Job_Title, @City, @Country, @Ac_Manager, @Remarks, @Staff)";
try
{
conn.Open();
cmd.ExecuteNonQuery();
ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", "alert('Record Saved Successfully.');window.location='DatabaseEntry.aspx';", true);
}
catch (Exception ex)
{
Response.Write("Oops!! Following error occured: " + ex.Message.ToString());
}
finally
{
conn.Close();
cmd.Dispose();
}
}
}