淺陋見解,僅供參考。拋磚引玉,多加指教!
          石正
          一個計算機技術愛好者! 雖然我擁有了系統(tǒng)分析師的證書,但我仍然是一個計算機技術愛好者!
          posts - 119,comments - 73,trackbacks - 0
          軟件工作的基本方法之一:5分鐘工作制

          在軟件工作中,遇到小難題(如:語法、簡單算法等)時,如果自己5分鐘內(nèi)沒有解決,則直接詢問本小組的其他人員。

          相關的一個基本工作方法:15分鐘工作制
          如果一個問題,本小組15分鐘內(nèi)無法解決時,則把本問題記錄下來,留待明天(后續(xù))解決。

          以上2個方法,可以有效的保證工作的進度,保證工作的愉快程度。


          相關的方法是:軟件開發(fā)工作中的1030原則

          2種方法的區(qū)別在2點:
          1、時間長短不一,5分鐘短,1030原則長一倍;
          2、適用地方不一,5分鐘適用于簡單問題,1030適用于其他問題。
          posted @ 2007-05-11 09:02 石正 閱讀(202) | 評論 (0)編輯 收藏
          我工作的計算機編號是51,現(xiàn)在才明白,是每天都是勞動節(jié)的意思! 勞動節(jié)快樂!天天快樂!
          最近真忙??!
          posted @ 2007-04-29 16:15 石正 閱讀(242) | 評論 (0)編輯 收藏
          C++中,CTime 與  CString轉換
          CTime m_StartTime1 = CTime::GetCurrentTime();
          CString csStartTime = m_StartTime1.Format( "%Y%m%d%H%M%S" );

           使用sprintf及sscanf函數(shù)進行CString與CTime之間的轉換

           

          一.將CString轉為CTime的幾種方法

          CString   timestr   =   "2000年04月05日";  
            int   a,b,c   ;  
            sscanf(timestr.GetBuffer(timestr.GetLength()),"%d年%d月%d日",&a,&b,&c);  
            CTime   time(a,b,c,0,0,0);    


          --------or - ---------------------

           CString   s("2001-8-29   19:06:23");  
            int   nYear,   nMonth,   nDate,   nHour,   nMin,   nSec;  
            sscanf(s,   "%d-%d-%d   %d:%d:%d",   &nYear,   &nMonth,   &nDate,   &nHour,   &nMin,   &nSec);  
            CTime   t(nYear,   nMonth,   nDate,   nHour,   nMin,   nSec);

          ---- or ------------------------
          CString   timestr   =   "2000年04月05日";  
            int   year,month,day;  
            BYTE   tt[5];  
            //get   year  
            memset(tt,   0,   sizeof(tt));  
            tt[0]   =   timestr[0];  
            tt[1]   =   timestr[1];  
            tt[2]   =   timestr[2];  
            tt[3]   =   timestr[3];  
            year=   atoi((char   *)tt);  
             
            //get   month  
            memset(tt,   0,   sizeof(tt));  
            tt[0]   =   timestr[6];  
            tt[1]   =   timestr[7];  
            month   =   atoi((char   *)tt);  
             
            //get   day  
            memset(tt,   0,   sizeof(tt));  
            tt[0]   =   timestr[10];  
            tt[1]   =   timestr[11];  
             
            CTime   time(year,month,day,0,0,0);

          從上面來看,很明顯使用sscanf()函數(shù)的優(yōu)勢.

           

          二.將CTIme轉換為CString的方法:

          CTime  tmSCan = CTime::GetCurrentTime();

          CString szTime = tmScan.Format("'%Y-%m-%d %H:%M:%S'");

          這樣得到的日期時間字符串就是以"2006-11-27 23:30:59"的格式.這是不是很方便呢?

           //取得CTime中的日期
           CString cstrDate = tmScan.Format("%Y-%m-%d");

           //取得CTime中的時間
           CString cstrTime = tmScan.Format("%H:%M-%S");

                    sprintf還有個不錯的表妹:strftime,專門用于格式化時間字符串的,用法跟她表哥很像,也是一大堆格式控制符,只是畢竟小姑娘家心細,她還要調用者指定緩沖區(qū)的最大長度,可能是為了在出現(xiàn)問題時可以推卸責任吧。這里舉個例子:

           

           更多更好的sprintf()函數(shù)說明參考:《spirntf,你知道多少?

          http://blog.csdn.net/steedhorse/archive/2005/03/25/330206.aspx

           

           

          time_t t = time(0);

                //產(chǎn)生"YYYY-MM-DD hh:mm:ss"格式的字符串。

           

          char s[32];

          strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", localtime(&t));

          sprintfMFC中也能找到他的知音:CString::Format,strftimeMFC中自然也有她的同道:CTime::Format,這一對由于從面向對象哪里得到了贊助,用以寫出的代碼更覺優(yōu)雅。



          Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1417748

          posted @ 2007-04-18 09:47 石正 閱讀(12955) | 評論 (5)編輯 收藏
          源代碼格式不對,也是軟件錯誤。

          源代碼是軟件的一個重要的組成部分,源代碼格式不對,換句話說,源代碼錯誤,肯定是軟件錯誤。所以,把源代碼編譯沒有錯誤等價為源代碼正確,是錯誤的,把運行沒有錯誤,等價為源代碼正確,是錯誤的。

          源代碼格式的幾點應該注意的事項(常識):
          1、源代碼的書寫格式,應該體現(xiàn)源代碼內(nèi)部的邏輯關系;
          2、源代碼內(nèi)部最重要的代碼行是:空行;空行把代碼分成各個相對獨立的組成部分;
          3、源代碼內(nèi)部第二重要的代碼行是:注釋行;
          4、源代碼行內(nèi)最重要的字符是:空格;空格把代碼行分成各個相對獨立的組成部分;
          5、源代碼行內(nèi)第二重要的字符是:制表符(Tab),制表符是行首縮進使用的字符;
          6、注釋合格的標準是:同等級技術能力的技術人員,可用比較方便的看懂代碼;或者,應該從事該工作的技術人員可以容易的看懂;
          7、注釋行數(shù)應該占到總代碼行數(shù)的三分之一;
          8、每個源代碼文件頭部都必須有說明本文件功能的注釋;
          9、自己定義的每個函數(shù)都必須有說明函數(shù)功能的注釋;
          10、自己定義的每個變量都必須有說明變量功能的注釋;
          11、注釋應該使用自己的母語(漢語);
          12、一句注釋合格的標準是,表達了需要表達的內(nèi)容,語法正確;
          13、清楚的注釋能夠方便代碼閱讀者理解代碼的邏輯關系和各個函數(shù)的功能;
          14、鍵盤上最重要的鍵是空格鍵,空格占英文文章的比例是20%左右;寫軟件源代碼時,空格的比例也很大;所以,鍵盤上面積最大的鍵是空格;
          posted @ 2007-04-18 09:08 石正 閱讀(505) | 評論 (1)編輯 收藏
          引用自 http://www.91php.cn/trackback.php?tbID=88&extra=964ce999cp

          SQL Server 2000中,當新建一個空的數(shù)據(jù)庫后,在查詢分析器中執(zhí)行
          sp_database 或select * from sysobjects where xtype = 'U'
          都會得到dtproperties表,并顯示為用戶表, 可這個表我從沒有創(chuàng)建過。但是在企業(yè)管理器中,dtproperties卻顯示為系統(tǒng)表。難道是bug ? 查看dtproperties,里面沒有數(shù)據(jù),是個空表。在SQL Server聯(lián)機叢書里沒有關于這個表的描述。

                dtproperties表在企業(yè)管理器中無法刪除,但在查詢分析器中 執(zhí)行drop table dtproperties卻可以刪除。
          手工建立一個表,表名就叫dtproperties,然后再查看,在企業(yè)管理器中赫然顯示為系統(tǒng)表??!  看來Bug是一定的了。
              
              重新創(chuàng)建一個數(shù)據(jù)庫,  寫個觸發(fā)器,讓其在dtproperties表執(zhí)行insert時執(zhí)行,然后在SQL Server里隨意操作,hehe,終于發(fā)現(xiàn),在新建關系圖時,dtproperties表被插入數(shù)據(jù),看來它是用來存儲數(shù)據(jù)關系圖的。呵呵,想點辦法,數(shù)據(jù)關系圖以后也可以備份下來了。


               再用drop table dtproperties刪除表dtproperties,[手工創(chuàng)建dtproperties ,結構任意,]    然后在企業(yè)管理器中新建數(shù)據(jù)關系圖,呵呵,SQL Server報錯!再次證實前面的猜想!


               SQL Server 2005中dtproperties 表不存在了,取而代之的是sysdiagram (記不住具體的名稱了) ,這個bug也不存在了,SQL Server 2005中的系統(tǒng)表和SQL Server 2000有了很大的不同。

          posted @ 2007-04-05 10:21 石正 閱讀(817) | 評論 (0)編輯 收藏
          posted @ 2007-03-30 09:51 石正 閱讀(178) | 評論 (0)編輯 收藏
          VC++6 寫完的程序程編譯鏈接通過后,點運行的時候出現(xiàn)one ? or ? more ? files ? out ? of ? date ? or ? not ? exist,解決辦法。

          把所有日期大于當前系統(tǒng)日期的文件,打開后,添加一個空格,然后保存,即可。

          可以對照文件的目錄,按時間倒序排列后,逐個處理。
          posted @ 2007-03-22 17:10 石正 閱讀(1280) | 評論 (2)編輯 收藏

          sysobjects

          在數(shù)據(jù)庫內(nèi)創(chuàng)建的每個對象(約束、默認值、日志、規(guī)則、存儲過程等)在表中占一行。只有在 tempdb 內(nèi),每個臨時對象才在該表中占一行。

          列名 數(shù)據(jù)類型 描述
          name sysname 對象名。
          Id int 對象標識號。
          xtype char(2) 對象類型。可以是下列對象類型中的一種:

          C = CHECK 約束
          D = 默認值或 DEFAULT 約束
          F = FOREIGN KEY 約束
          L = 日志
          FN = 標量函數(shù)
          IF = 內(nèi)嵌表函數(shù)
          P = 存儲過程
          PK = PRIMARY KEY 約束(類型是 K)
          RF = 復制篩選存儲過程
          S = 系統(tǒng)表
          TF = 表函數(shù)
          TR = 觸發(fā)器
          U = 用戶表
          UQ = UNIQUE 約束(類型是 K)
          V = 視圖
          X = 擴展存儲過程

          uid smallint 所有者對象的用戶 ID。
          info smallint 保留。僅限內(nèi)部使用。
          status int 保留。僅限內(nèi)部使用。
          base_schema_
          ver
          int 保留。僅限內(nèi)部使用。
          replinfo int 保留。供復制使用。
          parent_obj int 父對象的對象標識號(例如,對于觸發(fā)器或約束,該標識號為表 ID)。
          crdate datetime 對象的創(chuàng)建日期。
          ftcatid smallint 為全文索引注冊的所有用戶表的全文目錄標識符,對于沒有注冊的所有用戶表則為 0。
          schema_ver int 版本號,該版本號在每次表的架構更改時都增加。
          stats_schema_
          ver
          int 保留。僅限內(nèi)部使用。
          type char(2) 對象類型??梢允窍铝兄抵唬?

          C = CHECK 約束
          D = 默認值或 DEFAULT 約束
          F = FOREIGN KEY 約束
          FN = 標量函數(shù)
          IF = 內(nèi)嵌表函數(shù)
          K = PRIMARY KEY 或 UNIQUE 約束
          L = 日志
          P = 存儲過程
          R = 規(guī)則
          RF = 復制篩選存儲過程
          S = 系統(tǒng)表
          TF = 表函數(shù)
          TR = 觸發(fā)器
          U = 用戶表
          V = 視圖
          X = 擴展存儲過程

          userstat smallint 保留。
          sysstat smallint 內(nèi)部狀態(tài)信息。
          indexdel smallint 保留。
          refdate datetime 留作以后使用。
          version int 留作以后使用。
          deltrig int 保留。
          instrig int 保留。
          updtrig int 保留。
          seltrig int 保留。
          category int 用于發(fā)布、約束和標識。
          cache smallint 保留。

          posted @ 2007-03-21 10:16 石正 閱讀(2423) | 評論 (0)編輯 收藏
          系統(tǒng)表的應用

          系統(tǒng)表用的不多,寫幾個常用的系統(tǒng)表
          各個數(shù)據(jù)庫中的系統(tǒng)表:
          1.SysObject:
          ? 存放數(shù)據(jù)庫中的各個對象!
          ? 最重字段
          ?? 1.1 Name,Id,Crdate,Xtype (U :用戶表,V:視圖,Tr:觸發(fā)器,P:存儲過程,S,系統(tǒng)表)

          ?? 1.2 常用函數(shù) Object_ID('對象名'),Object_Name?
          ?? 此外我們?nèi)绻肷?,2,3,4,5這樣的等差數(shù)列,可以這樣做
          ?? Select Identity(int,1,1) As Id Into # From SysObjects,SysColumns??
          2.SysColumns
          ? 存放各列的信息
          ? 最重字段
          ?? 2.1 Name,Id,Colid--字段在表中存放的順序
          ?? 設一個表中字段有很多,想列出某表除某字段外的所有字段,可以這樣寫
          ?? Declare @Fields Varchar(5000)
          ?? Select @Fields=@Fields+Name
          ?? From SysColumns
          ?? Where Id=Object_ID('Test') and Name Not In ('字段1','字段2')
          ?? 又如如何用列序號選擇特定列
          ?? Create Function F_ColumnOrder(@TableName Varchar(10),@Colid Int)
          ?? Returns Table
          ?? As
          ?? Return
          ?? Select Name From SysColumns
          ?? Where ID=Object_ID(@TableName) And Colid=@Colid
          --Try
          Select * From Dbo.F_ColumnOrder('Users',2)
          ??
          3.SysFiles
          ? 如果我們想知道SQL的數(shù)據(jù)文件存放目錄的話,可以用
          ? Select FileName From SysFiles
          4.SysComments
          ? 保存視圖或存儲過程的語句!
          5.Sysforeignkeys
          ? fkeyid:外鍵表對象ID,rKeyid:主鍵表對象ID
          有時我們想把數(shù)據(jù)庫中的所有表都去掉,但是有約束的存在,有些表必須在主表前刪除,否則就會報錯,

          這種情況下我們就通過該表來實現(xiàn)
          **********************************************************
          Master表中的系統(tǒng)表
          SysDataBases
          ? 重要字段
          ??? 1.1 Name,Dbid,Crdate
          ????? 常用函數(shù) DB_ID('數(shù)據(jù)庫名')
          sysaltfiles
          ??? 保存各個數(shù)據(jù)庫的MDF文件的物理地址
          SysProcesses
          ??? 保存進程信息
          ??? Kill? spid 殺掉某進程

          5.注意sp_MsForEachTable函數(shù)
          ? 刪除某數(shù)據(jù)庫中表
          ?? Exec Sp_MsForEachTable 'Truncate Table ?'
          ?? 注意:有約束的不能刪除,會出錯的
          6.如果想改系統(tǒng)表怎么辦?
          ? 2種方法
          ??? 1.通過查詢分析器改
          ??? 用如下語句:
          ???? Exec Sp_Configure 'allow updates',1--允計修改
          ???? Reconfigure with override
          ????
          ???? Exec Sp_Configure 'allow updates',0--不允計修改
          ???? Reconfigure with override????
          ??? 2.通過企業(yè)管理器改
          ???? 在SQL實例上右鍵-屬性-允計修改系統(tǒng)目錄直接進行修改

          posted @ 2007-03-21 10:12 石正 閱讀(727) | 評論 (0)編輯 收藏
          master--->數(shù)據(jù)庫的核心庫,存儲很多系統(tǒng)的信息和登錄的信息等 ?
          ? tempd--->存儲了諸如臨時表等信息 ?
          ? Northwind--->北風數(shù)據(jù)庫,是個例子數(shù)據(jù)庫,可以模擬很多操作,并且提供例子供參考?

          名稱 ? ? ? ? ? ? ? ? ? ? ? ? ? 地址 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 說明 ?
          ? ?
          ? sysaltfiles ? ? ? ? ? ? ? 主數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 保存數(shù)據(jù)庫的文件 ?
          ? syscharsets ? ? ? ? 主數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 字符集與排序順序 ?
          ? sysconfigures ? ? 主數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 配置選項 ?
          ? syscurconfigs ? ? 主數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 當前配置選項 ?
          ? sysdatabases ? ? ? 主數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 服務器中的數(shù)據(jù)庫 ?
          ? syslanguages ? ? ? 主數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 語言 ?
          ? syslogins ? ? ? ? ? ? ? ? ? 主數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 登陸帳號信息 ?
          ? sysoledbusers ? ? 主數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 鏈接服務器登陸信息 ?
          ? sysprocesses ? ? ? 主數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 進程 ?
          ? sysremotelogins主數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 遠程登錄帳號 ?
          ? ?
          ? syscolumns ? ? ? ? ? 每個數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? 列 ?
          ? sysconstrains ? ? 每個數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? 限制 ?
          ? sysfilegroups ? ? 每個數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? 文件組 ?
          ? sysfiles ? ? ? ? ? ? ? 每個數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? 文件 ?
          ? sysforeignkeys ? 每個數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? 外部關鍵字 ?
          ? sysindexs ? ? ? ? ? ? 每個數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? 索引 ?
          ? sysmenbers ? ? ? ? ? 每個數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? 角色成員 ?
          ? sysobjects ? ? ? ? ? 每個數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? 所有數(shù)據(jù)庫對象 ?
          ? syspermissions ? 每個數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? 權限 ?
          ? systypes ? ? ? ? ? ? ? 每個數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? 用戶定義數(shù)據(jù)類型 ?
          ? sysusers ? ? ? ? ? ? ? 每個數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? 用戶????
          posted @ 2007-03-21 10:07 石正 閱讀(409) | 評論 (0)編輯 收藏
          僅列出標題
          共12頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 
          淺陋見解,僅供參考。拋磚引玉,多加指教!
          主站蜘蛛池模板: 凌云县| 高淳县| 中江县| 西华县| 长宁区| 淅川县| 南康市| 益阳市| 连平县| 宜昌市| 阜宁县| 个旧市| 天全县| 茌平县| 珲春市| 礼泉县| 莱西市| 南投县| 万载县| 五台县| 绥芬河市| 永宁县| 渝北区| 七台河市| 桂阳县| 台中县| 皋兰县| 普宁市| 淳化县| 白城市| 竹山县| 囊谦县| 来安县| 常熟市| 胶南市| 横峰县| 海林市| 延庆县| 嘉义县| 广水市| 万年县|