Autor Beitrag
traceurmicha
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 160
Erhaltene Danke: 9

Win XP SP2, Win 7 Pro., Ubuntu 9, Debian 5
C#, ASP.NET, MSSQL, PHP(Microsoft Visual Studio 2010 Ultimate, SharpDevelop 4, Microsoft SQL Server2008 Express, Eclipse for PHP)
BeitragVerfasst: Sa 08.08.09 19:49 
Ich will grad n bissl was proggen zum üben und bekomme auf einmal diese Fehlermeldung:
ExecuteReader: CommandText-Eigenschaft wurde nicht initialisiert.

Leider kann ich damit nix anfangen, könnt ihr mir helfen? Hier mein Quellcode:
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page 
{
    string Login_Pass,
           Login_Name,
           search_id_name,
           search_id_pass;

    SqlConnection log_con = new SqlConnection();
    SqlCommand log_com;

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    public void Login(object sender, EventArgs e)
    {
        log_con.ConnectionString = "Data Source=PEDRO-PC\\SQLEXPRESS;Initial Catalog=Login;Integrated Security=True";
        log_con.Open();
        
        if (u_name.Text != "")
        {
            search_id_name = "SELECT id AS 'id' FROM User_Name WHERE Name = '" + u_name.Text +"'";
            Label1.Text = "Name";
            log_com = new SqlCommand(search_id_name, log_con);
            SqlDataReader dr_log_nam = log_com.ExecuteReader();
            while (dr_log_nam.Read())
            {
                lb_remind1.Items.Add(dr_log_nam["id"].ToString());
            }
            dr_log_nam.Close();
        }
        else
            Label1.Text = "Bitte Usernamen angeben!";

        if (u_pass.Text != "")
        {
            Login_Pass = "SELECT id AS 'id' FROM User_Pass WHERE Pass = '" + u_pass.Text + "'";
            Label2.Text = "Passwort";
            log_com = new SqlCommand(search_id_pass, log_con);
            SqlDataReader dr_log_pass = log_com.ExecuteReader();
            while (dr_log_pass.Read())
            {
                lb_remind2.Items.Add(dr_log_pass["id"].ToString());
            }
            dr_log_pass.Close();
        }
        else
            Label2.Text = "Bitte Passwort angeben!";

        lb_remind1.SelectedIndex = 0;
        lb_remind2.SelectedIndex = 0;
        Login_Name = lb_remind1.SelectedItem.Text;
        Login_Pass = lb_remind2.SelectedItem.Text;
        if (Login_Name == Login_Pass)
            Header.Text = "Hat geklappt!";
    }

}


Der Fehler wird angezeigt bei SqlDataReader dr_log_pass = log_com.ExecuteReader(); in der zeile 49


Moderiert von user profile iconKha: Topic aus ASP.NET und Web verschoben am Sa 08.08.2009 um 20:00
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 08.08.09 20:00 
Du solltest dir angewöhnen, Variablen erst dort zu deklarieren, wo du sie brauchst, und erst recht nicht als Klassenvariablen zu deklarieren, wenn du sie nur innerhalb einer Methode brauchst. Dann wäre dir dieser Fehler nicht passiert:
ausblenden C#-Quelltext
1:
2:
3:
            Login_Pass = "SELECT id AS 'id' FROM User_Pass WHERE Pass = '" + u_pass.Text + "'";
            Label2.Text = "Passwort";
            log_com = new SqlCommand(search_id_pass, log_con);

_________________
>λ=
traceurmicha Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 160
Erhaltene Danke: 9

Win XP SP2, Win 7 Pro., Ubuntu 9, Debian 5
C#, ASP.NET, MSSQL, PHP(Microsoft Visual Studio 2010 Ultimate, SharpDevelop 4, Microsoft SQL Server2008 Express, Eclipse for PHP)
BeitragVerfasst: Sa 08.08.09 20:10 
Oh man... ok dankeschön!
Mal wieder son geiler Fehler...
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: So 09.08.09 10:44 
... Außerdem sollte es verboten werden, einen Sql-Befehl als String-Verknüpfung zu erzeugen. Das führt bei vielen Datentypen zu (teilweise unerklärlichen) Konvertierungsproblemen, bei Strings zu Problemen mit Hochkommata und generell zur Gefahr von Sql-Injection. Alternativen findest du unter [Artikelserie] Parameter von SQL Befehlen.

Jürgen