2016-04-12 21 views
0

Good Evening SO Topluluğu!C# SQL - Tablo Sütun Numaralandırması ve JOIN

SQL Database kullanan küçük bir Agenda C# programım var. Bir DataGridView doldurmaya çalışıyorum ama yapmaya çalıştığım şeyi başaramıyorum:

Geçerli oturum açmış kullanıcı için, ızgara görünümünde göstermek istediğim 2 veri türü var.

DataGridView'da, ilk sütunu, belirli bir bölümün gerçekleştirebileceği tüm görevleri (başka bir tabloda verildiği gibi) sıralayan "Görevler" ve ikinci sütunun ne kadar süre için düzenlenebilir bir TextBox olmasını isterim Bu belirli bir görev.

benim DataBase inşa edilmiştir Nasıl:

Tasks 
- IdTask 
- Nom 
- IdDepartement 

Departement 
- IdDepartement 
- Nom 

Events 
- IdEvents 
- IdTask 
- IdDepartement 
- DuréeTache 
- Date 

Users 
- IdUsers 
- Nom 
- IdDepartement 
- IsAdmin 

(Ben tek bir dil altında onlara uygun olanlar Tablo Sütunlar değiştirir Bu benim kötü..) Ben istiyorum ne

görünüyor şeydir Bunun gibi, ancak küçük değişiklikler ile: MyDataGridView

Kayıtlı olmadıklarından dolayı, Olaylarla ilgili hiçbir Etkinliği olmayanların bile göründüğü ve yanlarında saat 0:00:00 olduğunu görmeyi çok isterim .

Şu anda yalnızca kayıtlı olaylar ilişkili saatlerde gösterilmektedir.

Ayrıca, doğru zamanlar girildikten sonra aşağıdan bir Kaydet düğmesi ekleyeceğim.

Yani, SQL Select Query'yi arıyorum, nasıl yapılacağını bilmiyorum. Inner/Full Outer'a baktım ama 0:00:00 da olsa tüm görevleri göremiyorlar.

Açıklamalara ihtiyacınız varsa, bildirin!

Yardımın için teşekkürler!


Düzenleme # 1: AfterModifications

Ben elde etmek istediğinizi çok daha fazla görünüyor, ama şimdi değil ki her Departement görevlerini görebilirsiniz: Bir Çapraz Katılım ekledikten sonra, ben bu elde iyi.

İşte SQL Sorgum: SELECT e.IdEvenement \"#\", t.Nom \"Tâche\", e.DuréeTache \"Durée Tâche\" FROM Evenements e LEFT OUTER JOIN Users u on u.IdUser = e.IdUser CROSS JOIN Taches t WHERE u.Nom = '" + this.Text + "' AND e.Date = '" + DTP_Date.Value.ToShortDateString() + "' this.Text, Kullanıcı Adı ve DTP_Date, yalnızca bugünün görevlerini gösteren bir DateTimePicker'dır.

+0

Bu makaleyi deneyin. http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/ –

+0

Oh Çapraz Katılmayı bilmiyordum. Bu kadar kapsamlı bir şekilde kullanmak istemediğinize emin olun, ancak istediğimi daha iyi açıklayan sonuçlar verdi. – Chakraa

cevap

0

Pekala, bu yüzden burada bir şeyler denedim ve nihayet DGV'ime bağlanmak için bir DataTable kullanarak bir çözüm durağına girdim ve bunun yerine istediğim sonucu elde etmek için iki ayrı sorguyu el ile yapın. Biri verilen kullanıcı için tüm görevlerimi doldurmak, biri bu görevlerle ilgili olayları/kullanıcıları bir araya getirmek.