Ich habe eine Frage nach diesem Code. VisualStudio zeigt keine Fehler oder Warnungen an, aber wenn ich es ausführe, ist das Ergebnis nur der Ausnahmefehler ("Etwas ist schiefgelaufen."). So habe ich es schon immer gemacht, aber irgendwie immer funktioniert, außer jetzt. Fehle ich eine einfache Sache?Datenbankverbindung C#
protected void Page_Load(object sender, EventArgs e)
{
// Connect
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Users\royva\documents\visual studio 2013\Projects\CookieMultiView\CookieMultiView\App_Data\Databank.mdb';Persist Security Info=True";
// Execute
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT * FROM teachers = ?";// + Request.QueryString["id"];
lbl.Text = "";
cmd.Parameters.AddWithValue("id",Request.QueryString["id"]);
// Read
try
{
conn.Open();
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
lbl.Text = reader["teacherid"].ToString();
}
}
catch (Exception ex)
{
//lbl.Text = ex.StackTrace;
lbl.Text = "Something went wrong.";
}
finally
{
conn.Close();
}
Entfernen Sie 'lbl.Text =" Etwas ging schief. ";' Und setzen Sie dann einen Unterbrechungspunkt auf 'lbl.Text = ex.StackTrace;' und gehen Sie durch. Außerdem fügen Sie einen Parameter 'id' hinzu, aber es ist nicht in Ihrer Select-Abfrage – Izzy
Überprüfen Sie Ihren BefehlText Ich denke, es sollte so etwas sein: cmd.CommandText =" SELECT * FROM Lehrer WHERE ID =? " – Bambuk
Setzen Sie einen Haltepunkt bei 'lbl.Text =" Etwas ging schief. ";' Linie und sehen, was die eigentliche Ausnahme ist. Ab jetzt kann es eines der hundert Probleme sein. – jitendragarg