Ich habe ein seltsames Problem. Meine Abfrage in C#/ASP.NET gibt Ergebnisse 5 Mal zurück. Ich habe versucht, eine Bremsspitze zu setzen, aber ich kann den Fehler nicht finden. Ich habe 2 verwandte Tabellen. Eine Tabelle wird auf PAGE_LOAD geladen, und wenn der Benutzer auf eine Zelle klickt, wird der Inhalt einer anderen Tabelle angezeigt, die sich auf diese Zelle bezieht. Es ist sehr einfach.Abfrage gibt Ergebnisse 5 mal zurück
//PAGE LOAD
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbpath + "/secure_user/data/data.mdb");
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT Project,Manager,Customer,Deadline FROM projects WHERE Username='" + uname + "'", myConnection);
DataTable table = new DataTable();
adapter.Fill(table);
adapter.Dispose();
GridView1.DataSource = table;
GridView1.DataBind();
}
}
Es lädt die Projekttabelle in die GridView. Nun, wenn ich ein bestimmtes Projekt klicken, es weitere Informationen zu diesem Projekt zeigt:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { GridViewRow row = GridView1.SelectedRow; Label1.Text = row.Cells[1].Text;
OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbpath + "/secure_user/data/data.mdb");
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT tasks.Task,tasks.Priority,tasks.Done,taska.Hours FROM projects,tasks WHERE tasks.Username='" + uname + "' AND tasks.Project='" + Label1.Text + "'", myConnection);
DataTable table = new DataTable();
adapter.Fill(table);
adapter.Dispose();
GridView2.DataSource = table;
GridView2.DataBind();
GridView2.Visible = true;
}
Es zeigt ohne Fehler, aber es hat 5 mal egal welches Projekt ich von GridView1 wählen, Der Inhalt der GridView2 (zweite Tabelle) wird 5 Mal hintereinander angezeigt. Was könnte das Problem sein?
Es scheint einen Tippfehler in der zweiten SELECT-Anweisung (Taska) zu geben. – Svante
Übrigens ist diese Art von Abfrage ein leichtes Ziel für Skriptangriffe; Bitte verwenden Sie den Inhalt editierbarer Felder nicht ohne Validierungen. –
jemand muss über kleine Bobby Tische lesen ... –