Autor Beitrag
TheSoul
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 73
Erhaltene Danke: 2

Win 95, Win 98, WIN 2000, Win XP, Win Vista, Win 7
Visual C#
BeitragVerfasst: Mo 11.10.10 09:30 
Hallo Zusammen

Ich arbeite zurzeit an einer Benutzerverwaltung mit ASP.

Ich habe eine Datenbank, mit drei verschiedenen Tabellen.

Tabellen:
-User
-Job
-Salutation

User hat eine Beziehung zu Job und Salutation.

Deshalb habe ich beim Formular, um einen User zu erstellen/bearbeiten, eine DropDownList erstellt, welche die Daten aus Job oder Salutation ausliest.

Wenn ich nun einen Job auswähle(z.B Entwickler), will ich, dass es mir die ID(aus der Datenbank) vom Entwickler speichert.

Hier noch ein Teilcode:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
<asp:DropDownList ID="drpSalutation" runat="server" 
            DataSourceID="salutation_id" DataTextField="salutation_name" 
            DataValueField="salutation_id" Width="289px">
        </asp:DropDownList>
        <asp:SqlDataSource ID="salutation_id" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="SELECT [salutation_name] FROM [tblSalutation]">
</asp:SqlDataSource></td></tr>

_________________
Fluchen ist die einzige Sprache, die alle Programmierer wirklich beherrschen.
Ich würd so gern die Welt verändern, aber Gott gibt mir den Quellcode nicht
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: Mo 11.10.10 10:14 
Ich würd das ganze im Hintergrund über C# laufen lassen.

Das du sagst:

ausblenden C#-Quelltext
1:
<asp:DropDownList .... AutoPostBack="true"></asp:DropDownList>					


und dann in der .aspx.cs Datei

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
private string id = "";

protected void Page_Load(object sender, EventArgs e)
{
    if(IsPostBack)
    {
        BerufAenderung();
    }
}

private void BerufAenderung()
{
    //Die SQL Verbindung aufbauen
    SqlCommand com = new SqlCommand("Select ID from Job where Bezeichnung="+ddl_job.text,sqlverbindung);
    SqlDataReader dr = com.SqlExecuteNonQuery();
    if(dr.Read())
        id = dr[0].ToString();
}

Falls ich gerade blödsinn erzählt hab, sagt es ruhig, denn nur aus Fehlern lernt man^^

_________________
Programmieren ist ein Rennen zwischen den Softwareentwicklern, die versuchen größere und bessere idiotensichere Programme zu schreiben und dem Universum, welches versucht größere und bessere Idioten zu produzieren. Zur Zeit liegt das Universum in Führung.
TheSoul Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 73
Erhaltene Danke: 2

Win 95, Win 98, WIN 2000, Win XP, Win Vista, Win 7
Visual C#
BeitragVerfasst: Di 12.10.10 07:31 
Danke traceurmicha für deine Hilfe.

Wie kann ich diese Funktion umschreiben, dass es mir die job_id als Integer Wert zurückgibt?

Ich bin echt nicht weitergekommen seit gestern...

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
 public DataSet getDropDownJobId(string name)
        {
            DataSet result = 0;
            SqlParameter[] param = new SqlParameter[1];

            param[0] = new SqlParameter();
            param[0].SqlDbType = SqlDbType.VarChar;
            param[0].ParameterName = "@job_name";
            param[0].Value = name;

            result = SqlHelper.ExecuteDataset(con, CommandType.Text, "SELECT job_id FROM tblJob WHERE job_name = @job_name", param);

            return result;
        }


Danke schon im Voraus..

_________________
Fluchen ist die einzige Sprache, die alle Programmierer wirklich beherrschen.
Ich würd so gern die Welt verändern, aber Gott gibt mir den Quellcode nicht
TheSoul Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 73
Erhaltene Danke: 2

Win 95, Win 98, WIN 2000, Win XP, Win Vista, Win 7
Visual C#
BeitragVerfasst: Di 12.10.10 07:33 
Bin einbisschen weitergekommen.. Leider funktioniert es weiterhin nicht. Beim Ausführen kommt die Fehlermeldung "Ungültiger Leseversuch, wenn keine Daten vorhanden sind." Daten sind jedoch vorhanden, das gleiche Query habe ich auch unter Microsoft SQL Server Management getestet und es gab mir die korrekten Daten zurück.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
public int getDropDownJobId(string job_name)
        {
            SqlParameter[] param = new SqlParameter[1];
            int ID = 0;
            param[0] = new SqlParameter();
            param[0].SqlDbType = SqlDbType.VarChar;
            param[0].ParameterName = "@job_name";
            param[0].Value = job_name;

            SqlDataReader sdr = SqlHelper.ExecuteReader(con, CommandType.Text, "SELECT job_id FROM tblJob WHERE job_name = '" + job_name + "'", param);

            if (sdr.HasRows)
            {

                ID = Convert.ToInt32(sdr["job_id"]);
            }
        
            return ID;
        }


Wo könnte das Problem liegen?

_________________
Fluchen ist die einzige Sprache, die alle Programmierer wirklich beherrschen.
Ich würd so gern die Welt verändern, aber Gott gibt mir den Quellcode nicht
TheSoul Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 73
Erhaltene Danke: 2

Win 95, Win 98, WIN 2000, Win XP, Win Vista, Win 7
Visual C#
BeitragVerfasst: Di 12.10.10 08:49 
Es fehlte ein sdr.Read() bei der If-Abfrage. Nun funktionierts.

_________________
Fluchen ist die einzige Sprache, die alle Programmierer wirklich beherrschen.
Ich würd so gern die Welt verändern, aber Gott gibt mir den Quellcode nicht