2019年11月30日 星期六

在IIS上存取(Access)使用Office COM元件

https://dotblogs.com.tw/v6610688/2015/02/19/iis_office_access_word_excel_com_interop_api_configuration

https://dotblogs.com.tw/gelis/archive/2010/12/25/20381.aspx

如果安裝的是32位元
mmc comexp.msc /32

進去看才對


擷取元件 (CLSID 為 {000209FF-0000-0000-C000-000000000046}) 的 COM Class Factory 失敗,因為發生下列錯誤: 80070005 存取被拒。 (發生例外狀況於 HRESULT: 0x80070005 (E_ACCESSDENIED))。


我根據下列改了




但會出現找不到物件


如果用vs直接跑專案會是正常的

https://dotblogs.com.tw/v6610688/2015/02/19/iis_office_access_word_excel_com_interop_api_configuration

要設office資料匣權限開啟



如果安裝的是32位元
mmc comexp.msc /32
進去看才對
webconfig不用設








npoi 讀取excel 空值 出錯

if (row != null)
                {
                    for (int j = 0; j < 9; j++)  //對工作表每一列  //最好寫數字,不然會出錯                       
                                                 // for (int j = 0; j < row.LastCellNum; j++)  //對工作表每一列             
                    {                       
                        if (row.GetCell(0).ToString() == null)
                        {
                            continue;
                        }
                        //解決讀到空值或出錯的問題
                        if (row.GetCell(j) == null || Convert.IsDBNull(row.GetCell(j)))
                        {
                            dr[j] = null;
                        }
                        else
                        {
                            string cellValue = row.GetCell(j).ToString(); //獲取i行j列資料 
                            dr[j] = cellValue;
                        }                                               
                    }
                }

SQL UPDATE 指令

UPDATE AFM_UNIT SET ParentName = '',ParentNoteId = '' WHERE UnitPathId = '00202A'

linq的join語法

https://blog.miniasp.com/post/2010/10/14/LINQ-to-SQL-Query-Tips-INNER-JOIN-and-LEFT-JOIN


from c in Categories
join o in Products on c.CategoryID equals o.CategoryID into ps
from o in ps.DefaultIfEmpty()
select new { c.CategoryName, o.ProductName }

left語法確保products資料完整出現

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



select * from [dbo].[AFM_CheckList] c RIGHT join [dbo].[AFM_Product] p
on c.ProductID = p.ProductID


2019年11月2日 星期六

在C#中有沒有將時間轉換成純數位類型的方法

DateTime dt = DateTime.Now;
            string ds = dt.ToString("yyyyMMddHHmmss");
            double dd = Convert.ToDouble(ds);
            Label1.Text = dd.ToString();

2019年11月1日 星期五

linq字串轉數字及數字轉字串


var products =db.AFM_Product.AsEnumerable()
                .Where(m=>m.ProductName.Contains(str_Product))
                .OrderBy(m => int.Parse(m.ProductID)).ToList();


//需要把productID轉成int來排序時

                var query = from Parts in db.AFM_Product.AsEnumerable()
                            where Parts.UnitPathId==str_UnitPathId
                            where Parts.ProductName.Contains(str_ProductName)
                            orderby int.Parse(Parts.ProductID)
                            select Parts;