在資訊行業已有20多年經驗,主要在ERP系統開發及整合,所以有關的經驗如程式設計系統分析系統設計系統整合資訊主管兩岸三地系統導入及整合等工作,累積不少經驗。希望有機會與您合作開發讓我的經驗及知識與您共享也可以學習您的智慧,讓大家相互協助一起創造雙贏的優勢敝人也會分享程式及系統設計上經驗,如果對您有助益,也請您分享給更多人,如果沒有幫助,也感謝您的指教。一起讓我們透過『分享』力量,牽起一點《緣份》,謝謝您。

合作項目
(1) 程式開發(Delphi、ASP.Net、App、Web)
(2) 資訊系統外掛程式功能開發
(3) Tiptop,WorkFlow系統導入及程式開發
(4) ERP系統導入顧問
(5) 學生畢業專題合作
(6) 軟體專案系統合作開發
(7) 系統分析及設計

E-Mail: linchutaitiger@gmail.com

連絡人: 林先生(0928-090099)

作品展示

(1)ERP套裝軟體(http://kentiger8951.pixnet.net/album/set/13770682)

(2)鋁擠噴漆系統(http://kentiger8951.pixnet.net/album/set/13777039)

(3)鞋業管理系統(http://kentiger8951.pixnet.net/album/set/13777096)

(4)PLM/MES/ERP資料交換系統(http://kentiger8951.pixnet.net/album/set/16328906)

文章標籤

接案服務 發表在 痞客邦 留言(0) 人氣()

 private void TreeViewSearch(string PPartsNo)
 {
    TreeNode wkSelectNode = null;
    wkSelectNode = FindNodeByValue(TreeView1.Nodes, PPartsNo);
    if (wkSelectNode != null)
    {
           TreeView1.SelectedNode = wkSelectNode;
            TreeView1.Focus();
    }
   else
   {
           JanFun.UserShowMessage("查詢資料不存在", "Error018");
           return;
   }

  private TreeNode FindNode(TreeNode node, string name)
  {
         TreeNode ret = null;
         foreach (TreeNode temp in node.Nodes)
         {
             TreeNodeTag chldtag = temp.Tag as TreeNodeTag;
             if (temp.Nodes.Count != 0)
             {
                 if ((ret = FindNode(temp, name)) != null)
                 {
                     return ret;
                 }
             }
             if (string.Equals(name, chldtag.childpartsno))
             {
                 return temp;
             }
         }
         return ret;
 }
 public TreeNode FindNodeByValue(TreeNodeCollection trCollection, string szTxtName )
 {
         TreeNode trNode= null;          
         foreach (TreeNode tn in trCollection)
         {
             trNode= FindNode(tn, szTxtName);
             if (trNode!= null)
             {
                 return trNode;
             }
         }
         return trNode;
 }       

 

接案服務 發表在 痞客邦 留言(0) 人氣()

說明(一): 當有多欄位條件輸入時,
                Where 條件組合

  欄位A   欄位B   欄位C
  這三欄位,可能只輸一項或全部都有輸入

  List<sbrule> wkList = new List<sbrule>();
  var qry = this.context.sbrule.Select(x => x); 

  if (!string.IsNullOrWhiteSpace(欄位A .Text))          
       qry = qry.Where(x => x.rule01 == 欄位A .Text);

  if (!string.IsNullOrWhiteSpace(欄位B.Text)) 
            qry  = qry.Where(x => x.rule02 == 欄位B.Text);

  if (!string.IsNullOrWhiteSpace(欄位C.Text)) 
qry  = qry.Where(x => x.rule03 ==欄位C.Text);

 wkList = qry.ToList();

 

 

接案服務 發表在 痞客邦 留言(0) 人氣()

說明(一): 在 c# 中透過 EF 呼叫StoreProcedure


名稱 自行設定, 按 新增後. 產生如下畫面.

選 資料庫總管 ,將你要的 StoreProcedure 拖拉進來.

在方案中可以看到此項目

程式中呼叫它

接案服務 發表在 痞客邦 留言(0) 人氣()

說明(一): 讀出資料後,將該檔每一個欄位
                值設定給另一個Table相對應欄位

 var PQryData = (from m in context.table1 select m).FirstOrDefault()
 Table2 prop2= new Table2()
  foreach (var prop in PQryData.GetType().GetProperties())
  {
       foreach (var prop2 in PTable.GetType().GetProperties())
       {
            if (prop2.Name == prop.Name)
            {
                 prop2.SetValue(PTable, prop.GetValue(PQryData, null), null);
                 break;
             }
        }
  }

 

接案服務 發表在 痞客邦 留言(0) 人氣()

說明(一): 批次更新資料
      var qry = (from M in context.TableName
                    where M.欄位名稱== 要找的資料 
                    select M.欄位名稱).ToList();

      qry.Foreach(a=>{a.欄位A=更新資料A;
                                a.欄位B=更新資料B;});
     context.SaveChange();
     說明:
     (1) 命令中的 ( )及{ }使用
     (2) 更新資料A 後面要加 ; (分號)
     (3) 更新資料B 後面要加 ; (分號)

    

接案服務 發表在 痞客邦 留言(0) 人氣()

說明(一): 修改資料  

var qry = (from M in context.TableName
                    where M.欄位名稱== 要找的資料 
                    select M).FirstOrDefault();
if (qry != null)
{
  qry.欄位一 = "AAA";
  qry.欄位二 = 100
  context.SaveChanges();
}

說明(二): 修改資料  

var qry = context.TableName.First(p=>p.欄位名稱
           ==要找的資料);
if (qry != null)
{
  qry.欄位一 = "AAA";
  qry.欄位二 = 100
  context.SaveChanges();
}

接案服務 發表在 痞客邦 留言(0) 人氣()

說明: 新增資料
  
TableName NewTable = new TableName();
   NewTable.欄位一 = "AAA";
   NewTable.欄位二 = 100;
    ...................................
    ...................................
   context.
TableName.Add(NewTable);
   context.
SaveChanges();
  
備註:
   (1) TableName 要存在於 EF 中
   (2) NewTable 是自行定義的項目
   (3) SaveChanges() 最好要有 try  .... catch 
        發生錯誤時,由系統產生錯誤Message.


 

接案服務 發表在 痞客邦 留言(0) 人氣()

說明: 將 A(主檔) 及 B(明細) Table 找出不存在
         B Table 筆數
        類似 SQL 中的 not exists

      var qry = (from M in context.TableName(A)
                    where M.欄位名稱== 要找的資料 &&
                    !(from o in context.TableName(B)
                      where o.欄位名稱 == M.欄位名稱
                      select o.欄位名稱).Contains(M.欄位名稱)
                    select M.欄位名稱).ToList();

      
if (qry.Count() > 0)
          MessageBox.Show("B 檔案明細不存在")

接案服務 發表在 痞客邦 留言(0) 人氣()

說明(一): 將某欄位資料找出
      var qry = (from M in context.TableName
                    where M.欄位名稱== 要找的資料 
                    select M.欄位名稱).FirstOrDefault();

      
if (qry == null) MessageBox.Show("資料不存在")
                      else MessageBox.Show(qry.ToString());

        *****qry 及M 自定義變數, context 也是自定義

說明(二): 將某欄位資料找出並由大到小排序
     var qry = (from M in context.TableName
                     where M.欄位名稱== 要找的資料
                     orderby 欄位一 
descending
                     select M.欄位名稱).FirstOrDefault();

說明(三): 將某欄位資料找出(Distinct 運用)
     var qry = (from M in context.TableName
                     where M.欄位名稱== 要找的資料
                     orderby 欄位一 
descending
                     select M.欄位名稱).Distinct().ToList();
    
foreach (var recs in qry)
     {  MessageBox.Show(recs.欄位名稱)}

說明(四): 讀取多欄位資料
var qry = (from M in context.TableName
                    where M.欄位名稱== 要找的資料 
                    select new
                  {
                   M.欄位名稱一,M.欄位名稱二
                  }).FirstOrDefault();
        MessageBox.Show(qry.欄位名稱一);
        MessageBox.Show(qry.欄位名稱二);

說明(五): 讀取所有欄位
var qry = (from M in context.TableName
                    where M.欄位名稱== 要找的資料 
                    select M).FirstOrDefault();
        MessageBox.Show(qry.欄位名稱一);
        MessageBox.Show(qry.欄位名稱二);

     

 

 

 

接案服務 發表在 痞客邦 留言(0) 人氣()

1 234