2024年7月24日 星期三

linq left join 跟 inner join


隨手記錄一下,開發時候使用Left/Inner Join的方式,主要的差異在標色處。 

(1)LeftJoin,參數:int MasterTableID

from master in db.MasterTable

where MasterTable.MasterTableID == MasterTableID

join detail in db.DetailTable on MasterTable.MasterTableID equals Detail.MasterTableID into joinGroup

from Detail in joinGroup.DefaultIfEmpty()

select new {  master, detail };


(2)InnerJoin,參數: int MasterTableID

var result = from master in db.MasterTable

where MasterTable.MasterTableID == MasterTableID

join detail in db.DetailTable on MasterTable.MasterTableID equals Detail.MasterTableID 

select new {  master, detail };


2018年4月23日 星期一

【HTML】table有colspan時,textbox不會隨著欄位增長

HTML
TABLE WITH INPUT=TEXT
TEXTBOX不會照欄位數增長:可以加上STYLE:'WIDTH:100%'
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>

<table>
<tr>
<td>abc</td>
    <td><input type='text'></td>
    <td>def</td>
    <td><input type='text'></td>
</tr>
<tr>
<td>abc</td>
    <td><input type='text'></td>
    <td>def</td>
    <td><input type='text'></td>
</tr>
<tr>
<td>abc</td>
    <td colspan=3><input style='width:100%' type='text'></td>
</tr>

</table>


</body>
</html>

2018年3月14日 星期三

【node.js】好用的npm套件

npm install express-partials --save
npm install --save sequelize
npm install --save pg pg-hstore
npm install --save express-session
npm install --save mocha
npm install --save-dev mochawesome

2017年12月8日 星期五

【node.js】安裝前置動作

1、安裝 nvm
(nvm-setup)

2、安裝node.js
(cmd ->  nvm install (node.js version)
eg :
nvm install 6.11.2.32
nvm use 6.11.2.32

//(1)安裝版本
//(2)使用版本

3、測試node的版本
cmd -> node -v
cmd會顯示版次, 6.11.2.32

4、安裝套件

npm install -g express-generator
npm install sequelize-cli -g
npm install -g mocha


5、建立專案

cmd ->  express-h

6、安裝visual code

2017年5月6日 星期六

【SWIFT】簡單迴圈應用

Swift 的迴圈有
while/repeat-while/for-in

//Loop:While
//while 條件
//{
//  描述
//}
var intI:int=1
var intSum:int=0
while intI<=100
{
    intSum+=intI
    intI+=1
}
print(intSum)
//Loop:Repeat-While;與其他語言的do…while類似
//repeat
//{
//  描述
//}while 條件
intI=1 ; intSum=0
repeat
{
    intSum+=intI
    intI+=1
}while intI<=100
print(intSum)


//Loop:For-in
///a…b:從a到b(等於);a..<b從a到b(小於)
//for VAR in 條件起始 ... 條件結尾
//{
//  描述
//}
intSum=0
for intJ in 0...100
{
    intSum+=intJ
}
print( intSum)

2017年4月5日 星期三

【VB.NET】RS232簡易使用


前言:雖然現在大多都利用USB實作數據讀取,但RS232介面在工業運用上也非常廣泛,這個例子要利用.NET物件,簡易實作讀取RS232訊號。

應用:酒測計、磅秤、RS232介面的設備…等等。

實作物件:IO.Ports.SerialPort

加入【SerialPort】
可利用【IO.Ports.SerialPort.SerialPortNames】
或是【My.Computer.Ports.SerialPortNames】取得Port名稱




並設置【BaudRate,DataBits,Parity,StopBits】的參數
Open即可使用。

2017年3月29日 星期三

【VB.NET】開啟資料夾指令

原先以為可以用
IO.File.Open(strFile, IO.FileMode.Open)

Dim OFD As New OpenFileDialog
OFD.FileName = strFile
OFD.ShowDialog()

Dim FBD As New FolderBrowserDialog
FBD.SelectedPath = strFld
FBD.ShowDialog()

結果最後使用
System.Diagnostics.Process.Start("explorer.exe", strFld)
KO這個問題。