-2
我是C#的新手,我很難解決一個錯誤。當我登錄時,出現錯誤:錯誤:「對象引用未設置爲對象的實例。」
Object reference not set to an instance of an object.".
我知道這意味着該表不存在,但我該如何糾正它?我的數據庫包含4個表格,我所指的表格是數據庫中的第三個表格(我不知道這是否有幫助)。請告訴我,如果你需要更多的信息。我認爲問題出在循環某處,因爲我沒有語法錯誤。
在我的web用戶控件(只爲背景資料)
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>
<% if (Session["Patient"] == "Logged In")
{ %>
<asp:Button ID="Logout" runat="server" Text="Logout" onclick="Logout_Click" /> <br /><br />
<a>Continue to:</a> <asp:LinkButton ID="homepage" runat="server" PostBackUrl="~/home.aspx">Home page</asp:LinkButton>|
<asp:LinkButton ID="book_appointment" runat="server" PostBackUrl="~/appointments.aspx">Book an Appointment</asp:LinkButton>
<asp:HyperLink ID="HyperLink1" runat="server" Visible="false">HyperLink</asp:HyperLink>
<% }
else
{ %>
<br />
<a>Username:
<asp:TextBox ID="username" runat="server"></asp:TextBox> <br /><br />
Password:
<asp:TextBox ID="password" runat="server" TextMode="Password"></asp:TextBox> </a><br /><br />
<asp:Button ID="Login" runat="server" Text="Login" onclick="Login_Click" />
<asp:LinkButton ID="linkRegister" runat="server" PostBackUrl="~/register.aspx">Register</asp:LinkButton><br /><br />
<a><asp:Literal ID="literal1" runat="server"></asp:Literal></a><br /><br />
<% } %>
這是後面的代碼在我的登錄控制我的登錄代碼:
protected void Login_Click(object sender, EventArgs e)
{
cQuery record = new cQuery(); //declare instance
record.Sqlstring = "SELECT username, password FROM dbo.patient_details"; //what to get from database -- sql query
DataSet data = record.SelectStatement(); //put info into dataset
DataTable table = data.Tables[0];
foreach (DataRow row in table.Rows)
{
if (row[0].ToString() == username.Text)
{
if (row[1].ToString() == password.Text)
{
Session["Patient"] = row[0];
Response.Redirect("myaccount.aspx");
return;
}
}
} }
這錯誤意味着你正在使用的東西是空,或unistantiated ...它打破什麼線? – logixologist
我標記了你,不確定你是否有足夠的經驗去提出更好的問題。你沒有提出問題,只是發佈一些代碼,並期望有人修復它,什麼行號是拋出錯誤? –