using System; using System.Collections.Generic; using System.Web; using System.Data; using System.Data.Common; using System.ComponentModel; using WebLib; namespace Education { [DataObject] public class DAC_BCLS : DAC { public DAC_BCLS() { } public DAC_BCLS(DbConnection conn) : base(conn) { } [DataObjectMethod(DataObjectMethodType.Select)] public NameValueList Get類別資料By大類ForList(string 大類) { NameValueList result = new NameValueList(); DbCommand cmd = NewCommand(); cmd.CommandText = @"SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR=@BSPAR AND (BLOCK='' OR BLOCK IS NULL)"; AddParam(cmd, "BSPAR", 大類); bool wantClose; IDataReader reader = ExecuteReader(cmd, out wantClose); try { result.Fill(reader, 1, 0); cmd.Cancel(); reader.Close(); } finally { cmd.Dispose(); reader.Dispose(); CloseConnection(wantClose); } return result; } [DataObjectMethod(DataObjectMethodType.Select)] public NameValueList Get類別資料By大類ForDropDown(string 大類) { NameValueList result = new NameValueList(); result.Add("(請選擇)", DBNull.Value); DbCommand cmd = NewCommand(); cmd.CommandText = @"SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR=@BSPAR AND (BLOCK='' OR BLOCK IS NULL)"; AddParam(cmd, "BSPAR", 大類); bool wantClose; IDataReader reader = ExecuteReader(cmd, out wantClose); try { result.Fill(reader, 1, 0, false); cmd.Cancel(); reader.Close(); } finally { cmd.Dispose(); reader.Dispose(); CloseConnection(wantClose); } return result; } public string Get類別名稱(object 大類, object 類別編號) { if (大類 == null) 大類 = DBNull.Value; if (類別編號 == null) 類別編號 = DBNull.Value; DbCommand cmd = NewCommand(); cmd.CommandText = @"SELECT BSSCR FROM BCLS WHERE BSPAR=@BSPAR AND BSCLS=@BSCLS"; AddParam(cmd, "BSPAR", 大類); AddParam(cmd, "BSCLS", 類別編號); string result; ExecuteScalar(cmd, out result); return result; } public void UpdateOne(object 大類, object 類別編號, object 類別值) { if (大類 == null) 大類 = DBNull.Value; if (類別編號 == null) 類別編號 = DBNull.Value; if (類別值 == null) 類別值 = DBNull.Value; DbCommand cmd = NewCommand(); cmd.CommandText = @"SELECT COUNT(1) FROM BCLS WHERE BSPAR=@BSPAR AND BSCLS=@BSCLS"; AddParam(cmd, "BSPAR", 大類); AddParam(cmd, "BSCLS", 類別編號); int count; ExecuteScalar(cmd, out count); if (count == 0) { cmd.CommandText = @"INSERT INTO BCLS (BSPAR, BSCLS, BSSCR, BLOCK, TRDAT, TRMOD, TRUSR, BSRMK, DB_APPNO) VALUES (@BSPAR, @BSCLS, @BSSCR, '', GETDATE(), 'INSERT', @TRUSR, '', 1)"; AddParam(cmd, "BSPAR", 大類); AddParam(cmd, "BSCLS", 類別編號); AddParam(cmd, "BSSCR", 類別值); AddParam(cmd, "TRUSR", CurrentUserId); ExecuteNonQuery(cmd); } else { cmd.CommandText = @"UPDATE BCLS SET BSSCR = @BSSCR , TRDAT = GETDATE() , TRMOD = 'UPDATE' , TRUSR = @TRUSR , DB_APPNO = DB_APPNO + 1 WHERE BSPAR = @BSPAR AND BSCLS = @BSCLS"; AddParam(cmd, "BSPAR", 大類); AddParam(cmd, "BSCLS", 類別編號); AddParam(cmd, "BSSCR", 類別值); AddParam(cmd, "TRUSR", CurrentUserId); ExecuteNonQuery(cmd); } } } }