2016-05-12 18 views
-2

Ich habe 3 TabelleC# Datenbank mit oledb

1. genannt ein Mitglied Welche Spalten bestehen
1.MemberID 2.MemberName 3.Address

2. Tabelle Filme genannt von Spalten Consist 1.DVDnumber 2.MovieTitle 3.MovieType

3. Tisch Vermietung 1.DVDnumber 2.MemberID

A) sollte für Einzelheiten Mitglied B) suchen, wenn das Mitglied eine DVD sollte DVD movieTitle Anzeigen und Film-Typ

entlehnt Das ist, was ich bisher

public partial class Form1 : Form 
{ 
    OleDbConnection connection = new OleDbConnection(); 
    public Form1() 
    { 
     InitializeComponent(); 
     connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\SWELIHLE\Desktop\test 2\JimmyJones.accdb;Persist Security Info=False;"; 

    } 

    private void button4_Click(object sender, EventArgs e) 
    { 
     connection.Open(); 
     OleDbCommand command = new OleDbCommand(); 
     command.Connection = connection; 
     command.CommandText = "Select * from Member where MemberID = '" + txtID.Text + "'"; 
     OleDbDataReader reader = command.ExecuteReader(); 

     while (reader.Read()) 
     { 

      txtName.Text = reader["MemberName"].ToString(); 
      txtAdd.Text = reader["Address"].ToString(); 
     } 
     reader.Close(); 

     command.CommandText = "Select DVDnumber from Rental where MemberID = '" + txtID.Text + "'"; 
     OleDbDataReader rd = command.ExecuteReader(); 
     while(rd.Read()) 
     { 

      data.Text = rd["DVDnumber"].ToString(); 
     } 

     rd.Close(); 
     command.CommandText = "select M.MemberName, M.Address, Mo.MovieTitle, Mo.MovieType, FROM Member M LEFT OUTER JOIN Rental R ON M.MemberID = R.MemberID LEFT OUTER JOIN Movie Mo ON Mo.DVDnumber = R.DVDnumber"; 
     OleDbDataReader raed = command.ExecuteReader(); 
     while (raed.Read()) 
     { 

      txtMovieT.Text = raed["MovieTitle"].ToString(); 
     } 

     connection.Close(); 
    } 
} 
getan haben
+0

Und was nehmen wir hier zu tun? – Izzy

+0

Sollte nach Mitglied durch Eingabe von Mitglieds-ID auf Textfeld suchen und prüfen Wenn das Mitglied existiert ... wenn das Mitglied vorhanden ist, sollte es auch überprüfen, ob der Benutzer eine DVD ausgeliehen hat, wenn der Benutzer die DVD ausgeliehen hat, sollten DVD-Details aus Filmtabelle –

+0

angezeigt werden Ich habe meine Arbeit gemacht BT Ich kämpfe .. denkst du, ich wäre hier, wenn ich nicht kämpfen würde –

Antwort

0

Ich vermute, Sie möchten eine SQL-Abfrage zum Abrufen der Daten, die Sie wollen. Hier geht es:

SELECT M.Name, M.Address, Mo.MovieTitle, Mo.MovieType, 
FROM Member M 
LEFT OUTER JOIN Rental R ON M.MemberID = R.MemberID 
LEFT OUTER JOIN Movie Mo ON Mo.DVDnumber = R.DVDnumber 

Bitte richtigen Tags verwenden, während Fragen zusammen mit geben relevante Erläuterung der Aufgabe fragen Sie auszuführen versuchen.

0

den Job Dies sollte:

string mID = txtID.Text; 

OleDbCommand command.CommandText = 
"SELECT m.* FROM Member m, Rental r WHERE 
    m.MemberID = r.MemberID AND 
    m.MemberID = '" + mID + "'"; 

OleDbDataReader reader = command.ExecuteReader(); 
if (reader.Read()) 
{ 
    // member found 
    txtName.Text = reader["MemberName"].ToString(); 
    txtAdd.Text = reader["Address"].ToString(); 

    // query movies 
    command.CommandText = 
    "SELECT mo.* FROM Member m, Movies mo, Rental r WHERE 
     m.MemberID = r.MemberID AND 
     r.DVDnumber = mo.DVDnumber AND 
     m.MemberID = '" + mID + "'"; 

    raeder = command.ExecuteReader(); 
    string movies; 
    while (raeder.Read()) 
    { 
     // multiple rentals possible?! 
     movies += raeder["MovieTitle"].ToString() + '\n'; 
    } 
    txtMovieT.Text = movies; 
} 
+0

War das nützlich für Du? Wäre sehr nett, wenn Sie meine Antwort bewerten – m1st4x