我有一个 C# 中的 SQL Server 数据库[在我上任之前构建,创建者已经离开],直到上周都很好。在第一页上clerk_search.aspx
,它会搜索 SQL Server 中的人员并将其回发到一个很好的数据网格。
有一个 ASPImage
按钮被点击,它前进到下一页,输入客户访问的原因,其中包含有关回发的客户的加载字段。对于某些人来说,下一页会填充,而对于其他人则不会。使用的 SQL 语句在查询分析器中检查得很好,我不明白。我不认为它是读者,因为其他人登录良好,其他客户出现在 SQL 的行中,可以很好地查询。全部贴在下面,我不精通编码,请协助。
System.InvalidOperationException:不存在数据时尝试读取无效。
SqlDataReader reader2 = cmd.ExecuteReader();
reader2.Read();[InvalidOperationException:不存在数据时尝试读取无效。]
这是实际的:....clerk_create.aspx.cs
public partial class clerk_create : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["us"] == null)
{
Response.Write("Sorry, you do not have access to this page. Please see
data systems.");
Response.End();
}
if (!IsPostBack)
{
using (SqlConnection connection = new SqlConnection
(WebConfigurationManager.ConnectionStrings["walkin2"].ConnectionString))
{
TextBox txtsct = (TextBox)Page.PreviousPage.FindControl("Txtsct");
Txtsct.Text = txtsct.Text;
TextBox txt = (TextBox)Page.PreviousPage.FindControl("Txtssn");
Txtssn.Text = "" + txt.Text;
connection.Open();
string strsql2 = "SELECT dbo.table_name.SSN,
dbo.table_name.LAST_NAME,
dbo.table_name.FIRST_NAME, dbo.table_name.MIDDLE_INITIAL,
dbo.table_name.COMPONENT_CODE, dbo.table_name.PRESENT_CODE FROM
dbo.table_name INNER JOIN dbo.table_name ON dbo.table_name.SSN = '" +
Txtssn.Text + "')";
SqlCommand cmd = new SqlCommand(strsql2, connection);
SqlDataReader reader2 = cmd.ExecuteReader();
reader2.Read();
LblLName.Text = "" + reader2["LAST_NAME"];
LblFName.Text = "" + reader2["FIRST_NAME"];
}
}
}
...
}