2024年2月6日 星期二

MS-SQL查詢指定資料表的結構

如果今天要修改一個欄位的長度,再來查查看是否有修改成功

 1.

MS Sql

修改欄位語法
ALTER TABLE MyTable ALTER Column Column_1 nvarchar(10) NOT NULL

2.

方法1

-- 查詢指定資料表的結構
SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'MyTable ';

方法2

-- 查詢指定資料表的結構
EXEC sp_columns 'MyTable ';

2024年2月1日 星期四

主控台程式(console)關閉事件

 原始的console是沒有這種好東西的.於是我們想要在關閉視窗之後再來抓到這個關閉事件

就要自行加工處理了,直接上程式碼,在program.cs上

 internal class Program
    {
        #region 激活關閉視窗事件
        public delegate bool ControlCtrlDelegate(int CtrlType);
        [DllImport("kernel32.dll")]
        private static extern bool SetConsoleCtrlHandler(ControlCtrlDelegate HandlerAppClose, bool Add);
        private static ControlCtrlDelegate cancelHandler = new ControlCtrlDelegate(HandlerAppClose);

        /// <summary>
        /// 關閉視窗時的事件
        /// </summary>
        /// <param name="CtrlType"></param>
        /// <returns></returns>
        private static bool HandlerAppClose(int CtrlType)
        {
            logger.Debug("HandlerAppClose:控制台關閉中...:" + DateTime.Now.ToString());
            return false;
        }

        #endregion
        public static log4net.ILog logger = log4net.LogManager.GetLogger("ConSoleLog");//取得一個日誌記錄
        static void Main(string[] args)
        {
            logger.Debug("SetConsoleCtrlHandler:" + DateTime.Now.ToString());
            ////註冊視窗關閉事件
            bool bRet = SetConsoleCtrlHandler(cancelHandler, true);           
            while (true)
            {
                Console.WriteLine("主程式執行!");
                Console.ReadLine();
                Thread.Sleep(1000);

            };
        }
    } 

 實際運行時.如果拿掉Console.ReadLine()Thread.Sleep(1000) 這兩行很多時候會無法跑到

關閉的事件裡



 

MS-SQL查詢指定資料表的結構

如果今天要修改一個欄位的長度,再來查查看是否有修改成功  1. MS Sql 修改欄位語法 ALTER TABLE MyTable ALTER Column Column_1 nvarchar(10) NOT NULL 2. 方法1 -- 查詢指定資料表的結...