私は 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"];
}
}
}
...
}