ashiena 0 Report post Posted September 21, 2005 Hye.situasi saya camni.. saya create 2 table dalam dataset 'ds'. ("leave") and ("entitlement") bagaimana saya nak paparkan kedua2 table ini dalam satu datadgrid?tq in advanced.. Quote Share this post Link to post Share on other sites
1kHz 0 Report post Posted September 21, 2005 Cuba listkan column table Leave dan Entitlement ni, adakah hubungannya one-to-many (parent-child)?Kalau betul ada hubungan tu, gunakan DataRelation la, mcm dlm subtajuk awak tu..Ini DataGrid ASP.NET atau WinForm? Quote Share this post Link to post Share on other sites
ashiena 0 Report post Posted September 21, 2005 em.. dua2 table ni from query yang ada join. Em... output nye... ds.Table("leave")LeaveName TotalDays Leave CodeAnnual Leave 2 ALds.Table("entitleent")LeaveName entitlement LeaveCodeAnnual Leave 16 ALnak bind ke DataGrid asp.net..bagaimana ye? Quote Share this post Link to post Share on other sites
1kHz 0 Report post Posted September 21, 2005 em.. dua2 table ni from query yang ada join. Em... output nye...Kalau SQL tu ada join, kenapa hasil query ada 2 table.. sepatutnya hanya 1 table.. [b]ds.Table("leave")[/b] LeaveName TotalDays Leave Code Annual Leave 2 AL [b]ds.Table("entitleent")[/b] LeaveName entitlement LeaveCode Annual Leave 16 AL Mana parent mana child? Mana foreign key?Kalau nak papar 2 table, kenapa tak gunakan 2 datagrid? Tak boleh papar 2 table dlm 1 webform datagrid, kalau winform punya datagrid boleh la.. Quote Share this post Link to post Share on other sites
ashiena 0 Report post Posted September 21, 2005 (edited) leave - parententitlement - childforeign key - camne nak setkan? em.. link bagi kedua table is leavecode.. itu dikira foreign key?em.. sory tak terangkan dgn jelas...Root bagi maslah saya ialah.. saya perlu paparkan:leavename, entitlement, daysTaken(SUM bagi setiap leavename), balance... dalam satu datagrid.____________________________________________________untuk dapatkan data, saya perlu gunakan 2 query:leavename, daysTaken - dapat from sql1entitlement - dapat from sql2sql1 sql1 SELECT LType.LeaveName, StaffLeave.totaldays,LType.LeaveCode FROM LType LEFT OUTER JOIN SELECT leavecode, SUM(totaldays) AS totaldays FROM leave WHERE staffno = '127' GROUP BY leavecode) StaffLeave ON LType.LeaveCode =StaffLeave.leavecode COLLATE SQL_Latin1_General_CP1_CI_AS sql2 SELECT LeaveRef.Entitlement, LType.LeaveCode FROM LeaveRef INNER JOIN LType ON LeaveRef.LeaveCode = LType.LeaveCode WHERE LeaveRef.GradeID = '3' AND LeaveRef.yearsID = 0 AND LeaveRef.LeaveCode = 'AL' "saya tak dapat nak buat dalam satu sql untuk dapatkan semua data tu.. sebab tu saya guna 2 query...__________________________________________________mulanya saya ingatkan if output kedua2 sql ni boleh di letakkan dalam satu dataset, maka boleh la dipaparkan dalam satu datagrid... tapi since...Tak boleh papar 2 table dlm 1 webform datagrid, kalau winform punya datagrid boleh la..bagaimana nk paparkan data ni...?? if tk guna cara ni.. ada cara lain?? -----------------------------------------------------------------------------------tablesEmployee - staffno, name, Datejoined, GradeIDLeave - LeaveID, staffno, DatApply, dateStart, dateEnd, TotalDays,Reason, status, LeaveCodeLeaveRef - ID,GradeID,yearsID,EntitlementleaveGrade - GradeID, GradeNameleaveLevel - leavelevel, DescriptionLType - LeaveCode, LeaveNamehope boleh mmbantu... Benar2 buntu... Edited September 21, 2005 by ashiena Quote Share this post Link to post Share on other sites
1kHz 0 Report post Posted September 21, 2005 Ok, sebelum tu saya nak tanya.. Adakah entitlement tu utk setiap leave atau untuk semua leave? Maksudnya adakah (a) Seorang Staff akan entitled utk 14 hari leave semua sekali atau ( Seorang Staff akan ada 14 hari utl Annual Leave, 10 hari utk Compassionate Leave, etcSaya assume (.. saya assume sebab dlm sql2 ada LeaveRef.LeaveCode tapi ikut list of tables tu dlm LeaveRef takde column LeaveCode.. jadi ada conflict kat sini, saya ikut yg sql2..Dan satu lagi saya assume table yg nak dipaparkan ni ialah leave record utk SEORANG Staff, betul? Bukan list utk SEMUA staff bersama dgn leave recordnya..Ok, key penting utk menyelesaikan masalah ialah memecahkan dulu pada masalah2 kecil.. ok saya pecahkan begini:1) Bagaimana utk ketahui leave entitlement bagi seorang staff yg mempunyai staffno = 127? Jawabnya:SELECT LeaveCode, Entitlement FROM LeaveRef WHERE GradeID = (SELECT TOP 1 GradeID WHERE StaffNo = 127) (yg ni saya assume leave entitlement berdasarkan Grade shj, tak termasuk tahun bekerja, table LeaveRef tu mengelirukan..) 2) Bagaimana utk ketahui berapa byk leave yg yg telah diambil oleh staff itu, dipecahkan mengikut leave code.. Jawabnya: SELECT LeaveCode, SUM(TotalDays) As SumTotalDays FROM Leave WHERE StaffNo = '127' GROUP BY LeaveCode 3) Dan ketiga, grand finale, bagaimana nak paparkan leave name, leave entitlement, leave taken, dan balance? Kita dah ada maklumat2 dari sql diatas, jadi gunakan balik je.. dan saya assume hubungan LeaveEntitled dgn LeaveTaken ialah 1..1 tapi mungkin juga 1..0 Jawabnya: SELECT LeaveEntitled.LeaveCode, LeaveName, Entitlement, SumTotalDays, Entitlement-SumTotalDays As 'Balance' FROM( SELECT LeaveCode, Entitlement FROM LeaveRef WHERE GradeID = (SELECT TOP 1 GradeID WHERE StaffNo = 127) ) As LeaveEntitled LEFT OUTER JOIN ( SELECT LeaveCode, SUM(TotalDays) As SumTotalDays FROM Leave WHERE StaffNo = '127' GROUP BY LeaveCode ) As LeaveTaken ON LeaveEntitled.LeaveCode = LeaveTaken.LeaveCode INNER JOIN LType ON LeaveEntitled.LeaveCode = LType.LeaveCodeBetul begitu? Cuma ada 1 query shj, dan hasil query cuma 1 table shj, jadi bind mcm biasa lah..Kalau nak guna DataRelation boleh juga, tapi saya berhenti takat ni je lah dulu..Nak guna DataRelation leceh sikit, kena tambah DataColumn pada DataTable dan saya pun tak berapa ingat sgt.. Quote Share this post Link to post Share on other sites
1kHz 0 Report post Posted September 21, 2005 leave - parententitlement - childOwh alamak.. saya buat terbalik.. Quote Share this post Link to post Share on other sites
nagakeciks 0 Report post Posted September 21, 2005 ashiena...yan ke nih? Quote Share this post Link to post Share on other sites
nagakeciks 0 Report post Posted September 21, 2005 (edited) Yansql1SELECT LType.LeaveName, StaffLeave.totaldays,LType.LeaveCode FROM LType LEFT OUTER JOIN SELECT leavecode, SUM(totaldays) AS totaldays FROM leave WHERE staffno = '127' GROUP BY leavecode) StaffLeave ON LType.LeaveCode =StaffLeave.leavecode COLLATE SQL_Latin1_General_CP1_CI_ASnih bind pada DataGridSo, pada ruang entitlement kat datagrid tuh, panggil function utk dapat value Entitlement, berdasarkan staffno dan LeaveCodeCheckEntitlement(container.dataitem("StaffNo"),container.dataitem("LeaveCode")) so kat function tuh Function CheckEntitlement(ByVal StaffNo as integer,ByVal LeaveCode as string) as Integer 'Open Satu data reader gune query nih sql2 = "SELECT LeaveRef.Entitlement, LType.LeaveCode FROM LeaveRef INNER JOIN LType ON LeaveRef.LeaveCode = LType.LeaveCode WHERE LeaveRef.GradeID = " & StaffNo & " AND LeaveRef.yearsID = 0 AND LeaveRef.LeaveCode = '" & LeaveCode & "'" 'pastu return value entitlement End Function tapi utk yearsID tuh, dapatkan value dari Staff tarikh mula kerja..Dapatkan tahun sahaja.. Edited September 21, 2005 by nagakeciks Quote Share this post Link to post Share on other sites
ashiena 0 Report post Posted September 23, 2005 thank you 1kHz ngan hafiz..Dua2 pn sy try.. berjaya! Quote Share this post Link to post Share on other sites
1kHz 0 Report post Posted September 23, 2005 thank you 1kHz ngan hafiz..Dua2 pn sy try.. berjaya!←dah berjaya? tahniah.. terima kasih kembali sebab eja nama saya dgn betul huruf kecil dan huruf besarnya.. jarang dpt begini..cuma teringin nak tambah sikit:1) Masalah besar senantiasa lebih senang diselesaikan jika ia dipecahkan pada masalah2 kecil. Skill ni sangat penting. Ada orang kata ia datang melalui pengalaman, ada orang kata melalui bakat.2) ALWAYS indent your code if you want to live long and prosper. 1 tahun kemudian (kalau anda terus menjadi programmer) dan kena tengok balik kod tu nanti, tentu anda menyesal kalau tak indent dgn betul.Just my humble opinion.. Quote Share this post Link to post Share on other sites
nagakeciks 0 Report post Posted September 23, 2005 Tahniah Yan...ooo 1kHz..aku eje nama ko ngan betul, ko x cakap time kasih lak kat aku..heheOkies..Yan....nak komen skit pasal pendapat 1kHz tuh1.Teramatlah setuju ngan ape yg 1kHz cakap..satu2 prob besar, kite pecahkan jadik prob2 yg kecil, lebih mudah utk kite setelkan..setel satu2..kalo ada error pun,senang nak cek kat mane..so, ingat tau pesanan 1kHz nih..sampaikan gak kat kat kawan2 yg kat opis tuh..hehe..sori aa saye xdapat datang Opis Korang..sbb dalam minggu depan akan bz gile..tapi ada masa saye singgah lak ek..2.Betul,betul dan betul..saye sendiri masa awal keje programmer dulu, slalu x indent..kene tego ngan member yg senior (abg sascha yg baru masuk tuh)..keburukan x indent nih, kat kite dan juga orang lain..bile indent nih, senang skit nak baca..tapi utk studio.net, memang dah auto indent..so, ok aa kut..So, ingat 2 pesanan 1kHz..sbagai rujukan utk menjadi programmer yg berjaya..P/S : hehe..saye x join meeting ngan Big Boss smalam, tapi saye join yg arinih..huhu, korang makan bihun biasa je smalam..tadi kitorang dapat bihun Singapore..besh ooo..mm..Big Boss ada sebut pasal Sistem Intranet yg korang tengah develop nih..so buat bebetul tau..apepun yan n the gang, sori sesangat x leh nak singgah opis..saye bebetul sibuk..banyak gak nak kene buat nih..oh ye, yan sebut nama betul saye..haha..bahaya ooo..nanti ade orang x pueh ati ngan saye, tau lak nama betul saye.. Take care.. n thanks 1kHz Quote Share this post Link to post Share on other sites
1kHz 0 Report post Posted September 23, 2005 <!-- off-topic -->ooo 1kHz..aku eje nama ko ngan betul, ko x cakap time kasih lak kat aku..heheOh ye ke.. kalau begitu terima kasih jugak la Quote Share this post Link to post Share on other sites
ashiena 0 Report post Posted September 26, 2005 thank you again... 1kHz dan nagakeciks Nasihat anda sekalian amat saya hargai... Quote Share this post Link to post Share on other sites
step 0 Report post Posted October 4, 2005 Korang ni satu opis ke? kekekeke Quote Share this post Link to post Share on other sites
nagakeciks 0 Report post Posted October 5, 2005 Korang ni satu opis ke? kekekeke←Ha ah...cume aku skrg, kat opis lagik satu..depan opis yan.. Quote Share this post Link to post Share on other sites