Как я могу прочитать каждую строку данных из базы данных и как я реализовал ниже, правильно или нет? - PullRequest
0 голосов
/ 02 августа 2010
public partial class _Default : System.Web.UI.Page 
{
    protected void Button1_Click(object sender, EventArgs e)
    {    
        if (TextBox1.Text == "" && TextBox2.Text == "" || TextBox1.Text == "")
        {    
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "LoggedInScript", "alert('Plz Specify Username And Password'); window.location = 'Default.aspx';", true);                
        }

        else if (TextBox2.Text == "")
        {
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "LoggedInScript", "alert('plz Specify Password'); window.location = 'Default.aspx';", true);                
        }
        else
        {
            string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Samples\\login.mdb";

            OleDbConnection myConnection = new OleDbConnection(connectionString);
            myConnection.Open();

            string query1 = "select * from LOGIN_TABLE";

            OleDbDataAdapter myAdapter = new OleDbDataAdapter(query1, myConnection);
            DataSet loginData = new DataSet();
            myAdapter.Fill(loginData);    

            foreach (DataTable table in loginData.Tables)
            {    
                foreach (DataRow row in table.Rows)
                {                        
                    if (TextBox1.Text == row["UserName"].ToString() && TextBox2.Text == row["Password"].ToString())
                    {
                        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "LoggedInScript", "alert('Login SucessFull'); window.location = 'Default.aspx';", true);
                        break;
                    }
                    else
                    {
                        {
                            String a = TextBox1.Text;
                            String b = row["UserName"].ToString();
                            Response.Write(a);
                            Response.Write(b);
                            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "LoggedInScript", "alert('Login Failed'); window.location = 'Default.aspx';", true);
                            break;
                        }
                    }
                }
            }
            myConnection.Close();
        }            
    }
}

1 Ответ

2 голосов
/ 02 августа 2010

С этим кодом много неправильно.

  1. Выбор всего из таблицы пользователей вместо фильтрации с использованием предложения WHERE
  2. Цикл по всем таблицам в наборе данных - возвращается только 1
  3. Проверка наличия пустых текстовых полей, но допускается принятие любого количества пробелов
  4. Txtspk в пользовательских сообщениях.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...