Friday, August 25, 2023

Return the ID of INSERTED Record, MS SQL script

1. returning single ID

INSERT INTO YourTable (Column1, Column2, ...) 

OUTPUT INSERTED.IDColumn VALUES (@Value1, @Value2, ...)

run the query using executeReader or executeScalar 



2. returning multiple ID (integer) in a string with coma

DECLARE @GeneratedIDs AS NVARCHAR(MAX); 

INSERT INTO YourTable (Column1, Column2, ...) 

OUTPUT INSERTED.IDColumn INTO @GeneratedIDs 

VALUES (@Value1, @Value2, ...); 

SELECT STUFF((SELECT ',' + CAST(IDColumn AS NVARCHAR(MAX)) 

FROM @GeneratedIDs FOR XML PATH('')), 1, 1, '') AS ConcatenatedIDs;


run this query using executeReader or executeScaler 


Tuesday, November 29, 2022

javascript to check prime number

 const isPrime = num => {

    for(let i = 2, s = Math.sqrt(num); i <= s; i++)
        if(num % i === 0) return false; 
    return num > 2;
}

Monday, June 27, 2022

Removing some old project

 Going through some old project.

Evergreen payroll...

I am wondering how is everyone..


Saturday, May 28, 2022

SQL To get Row count in all table

 CREATE TABLE #counts

(
    table_name varchar(255),
    row_count int
)

EXEC sp_MSForEachTable @command1='INSERT #counts (table_name, row_count) SELECT ''?'', COUNT(*) FROM ?'
SELECT table_name, row_count FROM #counts ORDER BY table_name, row_count DESC
DROP TABLE #counts

Tuesday, May 17, 2022

我們無法阻止別人遺棄我們

我們無法阻止別人遺棄我們,

但別認為自己是被留下來的那一個,

你可以朝另一個方向走去,

選擇不一樣的人生和自己。


別人越看不起,就會變得越堅強,
儘管許多人不得已或是不需要我而遺棄我,
我都必須對自己的人生負責,
每個人都有自己的路要走,
對方只是選擇了沒有我存在的那條路。

我相信沒有對方在的那條路,
我一樣可以展現最好的自己,
讓自己不受任何事影響自己前進的道路。

Tuesday, May 3, 2022

Power BI Count rows

 


Using above code, you will get correct recency range filter with correct recency value as below. 
















If COUNTROWS is pass in as variable as pre-calculated value, this will result in incorrect result. 







Thus from the observation, you know that DAX programming is not procedural in some of the function.

The COUNTROWS function will iterate through each rows of the table and perform calculation, so it is very important that this function is not use in too big NESTED environment.


Thursday, April 14, 2022

SQL random number

SELECT CAST(RAND(CHECKSUM(NEWID()))*10000 as int)

Generate a random number from 1 to 10000, can be use with any table to product random number per row

Wednesday, February 9, 2022

四年前的春天 - part 1

 


四年前的春天,我抓住了一个人的心,

我以为我抓住了她的人生。

两年后的冬天,因为我的过错,

她悄悄的偷走我的心而且离开了。


这两年我一直一直再寻找我的心。

生活没了动力,人生像是行尸走肉。

直到有一天, 我再次遇见了她。


我看见她流着得泪, 就像是我心留着的血。

那刹那间之后, 我就。。。。。。。。。


期待下一集。。



什么是爱情

我们总是带着面具走进爱情的,总想展示自己最优越的一面,刻意隐藏着平凡普通的那部分。你要接受一个人,不只是接受他的优越,而是看清了他的平凡普通却仍然去深爱。事实经常是:我们走着走着,就感觉对方变了,其实我们并没有变,我们只是走进对方最真实的地方,然后迷失了自己。

  爱其实就像打计程车。第一,不像公共汽车,只需等待就会自动来到你的面前,而需要你先向它招手才停;第二,如果你碰到的是空车,那就是你的幸运,但往往车上已经有人了;第三,走了多少距离就要付出多少代价。

  那一瞬间,你终于发现,那曾深爱过的人,早在告别的那天,已消失在这个世界。心中的爱和思念,都只是属于自己曾经拥有过的记念。 我想,有些事情是可以遗忘的,有些事情是可以记念的,有些事情能够心甘情愿,有些事情一直无能为力。

  如果总是永不知足,装不在乎,不服约束,存心辜负,还让对我们专情的人哭,那必定会在人生中迷失,爱注定是脆弱的,尤其在这个物质横飞的年代,不要问爱为什么会变得如此脆弱,是因为他们根本没有去爱过。也许你到现在还是无法忘怀,但你一定要记住,爱都是如此脆弱的,放弃一些不属于你的东西。

  遇到对自己好的人,就不要让他从自己的身边溜走,要他对自己一辈子好。如果你喜欢他却不爱他,慢慢的去接受他,走进他的世界,读懂他的故事,让自己爱上他。我宁愿慢慢的去接受一个爱自己的人,也不愿意努力的爱一个不爱自己的人。因为爱是痛苦,被爱是幸福。

  一生就这么一次,谈一场以结婚为目的的恋爱吧。一辈子很短,不再因为任性而不肯低头,不再因为生气而去冷落你,不再因为固执而轻言分手。终会明白,谁是虚情假意,谁是真心爱你,谁会为你不顾一切。最后地坚信一次,一直走,就可以到白头。惟愿这一生,执子之手,与子偕老。你敢天长,我就敢地久。

  我们总是不懂得珍惜眼前人。在未可预知的重逢里,我们以为总会重逢,总会有缘再会,总以为有机会说一声对不起,却从没想过每一次挥手道别,都可能是诀别;每一声叹息,都可能是人间最后的一声叹息。我们还以为爱情可以填满人生的遗憾,然而,制造更多遗憾的,却偏偏是爱情。

  我爱你,才会向你袒露心灵的世界,向你展示所有的喜怒悲欢,只有对你不曾设防;我爱你,才会和你耍小脾气,无缘无故离你远远的,其实我只想走进你炙热的怀抱听你的心跳;我爱你,所以我给了你伤害我的权力,只要我能忍受,我会一直陪伴着你,你不能伤害我太多,冷了,会淡漠,痛了,会松手。

  我们一生,可以遇见那么多人。不论爱与不爱,都可以在一起度过一生中的,一天,一月,一年。到了该离开的时候,好聚好散。然后,又和下一个人一起度过,又一个,又一天,又一月,又一年。无论是谁,挥别时,也请带着珍重。人生在世,要知足,要平凡,要感恩,不可以再任性强求。

  爱情不是游戏,因为我们玩不起。爱,就要真心付出,真诚相待。不要轻易说爱,许下的诺言欠下的债。爱不是缺了就可以找,更不是累了便可以换。爱一个人,不一定要拥有;但拥有了一个人,就一定要好好去爱。爱,不是一个人的独角戏,而是两个人的对手戏!女人善变的是脸,而男人善变的却是心。

  真正的爱情,要懂得珍惜,没有谁和谁是天生就注定在一起的。一辈子其实不长,能遇心爱的人,是多么幸运的事,为何不紧握着他的手呢?一颗心需要另一颗心坦诚相待,这样才可以幸福。

  所谓爱情,应该是什么样子:轰轰烈烈,不顾一切,算不算爱情;相濡以沫,执手到老,算不算爱情;平淡如水,相敬如宾,算不算爱情。真正的爱情,应该是两个人,彼此理解,互相尊重,不缠绕,不牵绊,不占有,然后相伴,走过一段漫长的,旅程。

  有时候,感情真的很奇怪,明明知道不可能,却止不住情感的蔓延。苦苦折磨自己而无果的徘徊,想爱不能爱,欲罢不能。我们在此之后遇到不同的人,总以为可以忘记也能够忘记,却发现谁也代替不了心里最深的那个人。于是,我们总是很难过。

  有个懂你的人,是最大的幸福。这个人,不一定十全十美,但他能读懂你,能走进你的心灵深处,能看懂你心里的一切。最懂你的人,总是会一直的在你身边,默默守护你,不让你受一点点的委屈。真正爱你的人不会说许多爱你的话,却会做许多爱你的事。

  爱一个人,就是永远心疼她,永远不舍得责备她。看到她哭,自己的心就跟针扎一样;看到她笑,自己的就跟开了花儿一样。在爱情中,每个人都有自己致命的软肋。

Tuesday, December 14, 2021

当天我与你真的深爱过 今天我爱你又如何?


 当天我与你真的深爱过

今天我爱你又如何?

Thursday, December 9, 2021

幸福不一定拥有



活了多年, 终于明白, 要一个人快乐跟幸福, 你不需要拥有他。 

只要知道他活的快乐,健康, 有独立的经济基础, 其实有没有在我们的身边, 我们都应该感到快乐。 
 

Friday, September 17, 2021

Not all Pain is gain



 🎈一個氣球

陰差陽錯的嫁給了仙人掌🌵

在一起摩擦碰撞N年

弄的自己身上傷痕累累

但氣球一直堅持著

終於有一天氣球受不了離開仙人掌~

後來氣球遇到了棉花☁️

棉花對氣球的每一個擁抱都是那麼的溫暖

氣球的心暖暖的🌹

氣球才明白:

不是努力堅持和忍耐就能換來溫暖~

是要選擇對的~適合的~

才會變的很輕鬆很幸福~

🌿再付出~也得遇上感恩的人

🌿再真誠~也得遇上有心的人

🌿再謙讓~也得遇上珍惜你的人

選擇比努力重要~

不管事業、友情、愛情都是一樣


SQL Accounting Integration (failed to create Active X component)

If you are getting fail to create activeX component or below message

Invalid class string, ProdID: "SQLAcc.BizApp" Error while try to link to SQL Accounting.

Try 

  1. Login SQL Accounting
  2. Click Tools | Options
  3. Click Register & follow wizard
  4. Exit SQL Accounting
  5. Login SQL Accounting
  6. Try run you application to link again
If still prompt after above steps
  1. Uninstall SQL Accounting
  2. Stop Anti Virus
  3. Reinstall SQL Accounting
  4. Run the above steps again

Follow screenshot below, I am able to solve the issue. 

Step 1.






















Step 2.





Thursday, August 13, 2020

Visual Studio IIS port is blocked

Unable to connect to the configured development Web server.

Failed to register URL "http://{ip_addr}:{port}/" for site "{project_name}" application "/". Error description: Access is denied. (0x80070005)


I have tried many many other solution, it is really headache. The fastest way to resolve it, is just go to your original folder , copy paste it and rename it. And open the website again.

this works for me.


Saturday, March 16, 2019

Just some update

wanna write in mandarin but then the typing is not suitable for me. so continue in english
Time really passes, yesterday night in penang, I met my good friend  in secondary school.
we didn't meet for 18 years since after form 5. I think we still met at form 6 awhile after that no more.
As he said, when think back it was like yesterday we just graduated form 5. then suddenly we are married with kids. 
i also told him that in my 20 to 30, I spent too much of time playing games. now i need to put in double effort to chase back the time i lost.

Monday, March 11, 2019

Query MS Excel File using MS SQL Script


SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.16.0',
'Excel 12.0; Database=e:\excelimport\leadmaster.xlsx; HDR=YES; IMEX=1',
'SELECT * FROM [LeadMaster$]');

if you try to run above  SQL script , it show some errors, (after modifying the path and also sheet name).
Such as access denied or cannot find the server. you should try below steps


Go into your MSSQL management server studio,
go to connected-> Service objects-> Linked Servces->Provideres
you should see Microsoft.ACE.OLEDB.xxxx (12.0,15.0 or 16.0) depend which database engine you have installed.
Usually this will not be seen on MS Windows Server if you don't have MS Excel installed.
https://www.microsoft.com/en-us/download/details.aspx?id=54920
go to above link and download the Microsoft Access Database engine Redistributable

then install it. Then you should see the driver

next go to SQL Script and run below

USE [MSDB]
GO

sp_configure 'show advanced options', 1
GO
RECONFIGURE WITH OverRide
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE WITH OverRide
GO

it will show

Configuration option 'show advanced options' changed from 1 to 1. Run the RECONFIGURE statement to install.
Configuration option 'Ad Hoc Distributed Queries' changed from 0 to 1. Run the RECONFIGURE statement to install.

now when you run the first SQL script you should be able to list out all the data.


UPDATE ON 2021 MAY 14:

if you get below message:
The OLE DB provider "Microsoft.ACE.OLEDB.16.0" for linked server "(null)" reported an error. Access denied

Try to run the MSSQL server using localAccount, rather that NTservices account




Monday, January 21, 2019

Microsoft Clear Script

Previously I have been using Microsoft Clear Script to add scripting capability to my .NET program.
Recently I upgraded to google V8 engine. If you are not familiar with ClearScript you can visit
https://github.com/Microsoft/ClearScript to take a look.

With V8 Engine the execution of javascript is pretty fast with some memories overhead.

Previously building V8 engine is really pain and not for faint heart.
Current is comes with NuGet Package. Just open Visual Studio 2015 or 2017, then search for clearscript.
 It should pop up then you can download it using NuGet.You need to save the project. It is just a few DLL files. Just use any project name will do.

After download just go to your user profile directory, default should be c:\users\%username%\.
Just do a search with "ClearScript" you should be able to locate the folder.  or you can search v8-x64.dll
all the dll files should be in the same folder. right click and open file location. copy all the DLL in the v8 folder, go back to on level above go to /lib and /net45 you will need to copy clearscript.dll and the xml also

put all those dll and xml file into /bin folder.

on ASP. NET please add below
system.web>
  <compilation>
    <assemblies>
      <remove assembly="ClearScriptV8-64" />
      <remove assembly="ClearScriptV8-32" />
    </assemblies>
  </compilation>
</system.web>
 Important: If Visual Studio is not installed on your deployment machine, you must install 32-bit and 64-bit Visual C++ Redistributable packages:
Visual C++ Redistributable for Visual Studio 2017 [x64] [x86]




Wednesday, December 5, 2018

人脉

在你還沒有足夠強大、足夠優秀時,先別花太多寶貴的時間去社交,多花點時間讀書、提高專業技能。放棄那些無用的社交,提升自己,世界才能更大!當然,有一種情況除外,你落難的時候,他說我們是兄弟,你富有時,他仍然說我們是兄弟。這種不離不棄的人,才稱為真正的朋友,他不適用於以上的規則。這種人不用多,在這個浮誇的世界裡,幾個就好。我不追求人脈,我就是人脈。


不要去追一匹馬,用追馬的時間去種草,待到春暖花開時,就會有一大批駿馬任你挑選;不要去刻意接觸一個人,用暫時沒有朋友的時間,去提升自己的能力,待到時機成熟時,就會有一批的朋友任你挑選!強大自己永遠是解決問題的唯一方法!


有人說,不是自己差勁,是沒有機會認識牛人。我在想,如果給你馬化騰、李嘉誠、柳傳志、馬雲、王健林、俞敏洪這人的聯繫方式,你確定可以和他們成為朋友?恐怕都不知道聊些什麼。還是那句話:你不夠優秀,認識誰也沒用;只有優秀的人,才能獲得有用的社交。


所謂的朋友,“朋”字兩個月,一樣的高度才能是朋友,想要和發光的金子結緣,必須讓自己變成發光的金子。沒有實力,就只剩下給牛人點贊的份;沒有實力,就甭想擠進高品質的朋友圈。所以,別再浪費時間去“巴結”人脈,減少混人際的時間,將大部分時間花在做最重要的事情上。


有一位年輕的博士生問:“自己正在忙工作,常碰到一些不速之客,該不該拒絕?會不會失去人脈?”我說:只有優秀的人,才能得到有用的社交。這位年輕的博士生感悟道:“在沒獲得博士學位之前,很少有人主動找我,我懂現在為什麼有人主動找我了”。


最後,他肯定地表示應該多花時間在自己科研專案上,沒必要把時間浪費在無效的社交上。如果你不夠優秀,人脈是不值錢的,它不是追求來的,而是吸引來的。只有等價的交換,才能得到合理的幫助——雖然聽起來很冷,但這是事實。


作家李尚龍寫過一個故事:他的一位朋友,在成名之前,給一個很大的報社投過稿,可每次投稿,都石沉大海。一年後,他的書意外大賣,那家報社的創辦人竟親自來找他約稿。如今他們關係很好,因為一個需要賣書,一個需要好稿。有人問:你為何和這家報社的關係那麼好?他說了一句話:等價的交換,才有了等價的友誼。


李尚龍自己也是如此,上大學時,他酷愛社交,參加了三個社團,只要有活動,就會去打個醬油。看到誰,就逮住誰留存下電話。可是一遇到急事,他想找人幫忙時,打遍了電話,也沒人願意接招。後來,他終於成為名人後,遇到什麼事打電話就應者雲集了。這時他才懂得:只有關係平等,才能互相幫助。你自己不優秀,認識再多厲害的人也沒有用。


人脈不是積累來的,而是吸引來的。不難發現,越是厲害的人,擁有的人脈越多,然而這些人脈大部分都不是他們主動去積累的,而是別人被吸引來的。你越優秀,價值越高,別人就越想跟你建立有效人脈關係;你建立的有效人脈越多,掌握的資源就越多,而你也將愈發優秀,吸引的人脈就越多。人脈就像雪球一樣,會越滾越大,其核心就是你的自身價值。


人脈很重要,但與其說它是通往成功之路的鑰匙,倒不如說它是你成功後的附屬品。所以說,人脈其實就掌握在你自己的手中,你能讓自己有多優秀,就能擁有多少有效的人脈。相反,自己不優秀,認識誰都沒用。別再把時間花在無用社交上了,多學習、多看書、多積累、多提升,當你成為大佬的那一天,你將會無比驕傲地說:“我不追求人脈,因為我就是人脈!”


人脈很有用,但前提是你也必須很有用。社交沒有產生效果,就是無用。一個殘忍的事實是,只有優秀的人才能擁有有效的人脈,並且越優秀的人,人脈越有效。