引用
SELECT (CASE WHEN PUR_AMT IS NULL THEN 0 ELSE PUR_AMT END) PUR_AMT
FROM PDA_PCOTI
2015年2月27日 星期五
2015年2月24日 星期二
MSSQL 輸出千分位
引用
1.ASCII轉換10進位、16進位
有時候我們必須要知道字串對應到ASCII是10進位的哪個數字,最簡單方式如下:
int tenNum = (int)'A'; //字元轉出ASCII 10進位表示
Console.WriteLine(string.Format("10進位數字:{0}", tenNum.ToString()));
string hexNum = Convert.ToString(tenNum,16); //轉成16進位表示
Console.WriteLine(string.Format("16進位數字:{0}", hexNum));
2.字串反轉
由於工作上廠商寫入RFID的資料,不知為啥要反過來,所以逼得我要將讀取出來的資料做個反轉!!
string testString = "ABCDEF";
char[] testCharArr = testString.ToCharArray();
Array.Reverse(testCharArr);
Console.WriteLine(new String(testCharArr));
3.MSSQL 輸出千分位!
最近有個小需求,希望在頁面上呈現【1,000.00】這種數字樣式,當然從資料庫撈出後,再用C#轉換也可以。
但既然TSQL也能做到不如就直接轉換吧!!
select convert(varchar,CONVERT(MONEY,MyColumn),1) from MyTable
1.ASCII轉換10進位、16進位
有時候我們必須要知道字串對應到ASCII是10進位的哪個數字,最簡單方式如下:
int tenNum = (int)'A'; //字元轉出ASCII 10進位表示
Console.WriteLine(string.Format("10進位數字:{0}", tenNum.ToString()));
string hexNum = Convert.ToString(tenNum,16); //轉成16進位表示
Console.WriteLine(string.Format("16進位數字:{0}", hexNum));
2.字串反轉
由於工作上廠商寫入RFID的資料,不知為啥要反過來,所以逼得我要將讀取出來的資料做個反轉!!
string testString = "ABCDEF";
char[] testCharArr = testString.ToCharArray();
Array.Reverse(testCharArr);
Console.WriteLine(new String(testCharArr));
3.MSSQL 輸出千分位!
最近有個小需求,希望在頁面上呈現【1,000.00】這種數字樣式,當然從資料庫撈出後,再用C#轉換也可以。
但既然TSQL也能做到不如就直接轉換吧!!
select convert(varchar,CONVERT(MONEY,MyColumn),1) from MyTable
2015年2月9日 星期一
DataGridView取欄位值
抓取GridView裡的欄位值
LOT.Text = GridView3.Rows(0).Cells(10).TextPrivate SubDataGridView1_CellContentClick(ByVal sender As System.Object, ByVale AsSystem.Windows.Forms.DataGridViewCellEventArgs) HandlesDataGridView1.CellContentClick
'點選單一儲存格
DataGridView1.SelectionMode = DataGridViewSelectionMode.CellSelect
MsgBox("你點選了:" & DataGridView1.CurrentCell.Value.ToString)
Me.DataGridView1.SelectionMode =DataGridViewSelectionMode.FullRowSelect
End Sub
Private SubButton1_Click(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesButton1.Click
'選取整列
'先點一下最左邊儲存格選取整列再按按鍵
Dim I, C, R As Integer
Dim Sel_Count As Integer
Dim S As String
Me.DataGridView1.SelectionMode =DataGridViewSelectionMode.FullRowSelect
Sel_Count =DataGridView1.GetCellCount(DataGridViewElementStates.Selected)
For I = 0 To Sel_Count- 1
C = DataGridView1.SelectedCells(I).ColumnIndex
R = DataGridView1.CurrentRow.Index
DataGridView1.CurrentCell = DataGridView1(C, R)
S = S + DataGridView1.CurrentCell.Value.ToString & vbCrLf
Next
MsgBox("你點選了第" & DataGridView1.CurrentRow.Index & "列" & vbCrLf & S)
EndSub
2015年2月8日 星期日
在已繪製的文字中設定定位停駐點
如何:在已繪製的文字中設定定位停駐點
.NET Framework 4.5
您可以經由呼叫 StringFormat 物件的 SetTabStops 方法,然後將該 StringFormat 物件傳遞至 Graphics 類別的 DrawString 方法,以設定文字的定位停駐點。
注意事項 |
---|
System.Windows.Forms.TextRenderer 不支援將定位停駐點加入至繪製的文字,但您可以使用 TextFormatFlags.ExpandTabs 旗標擴充現有的定位停駐點。
|
下圖顯示的是索引標籤式文字。
Dim myText As String = _ "Name" & ControlChars.Tab & _ "Test 1" & ControlChars.Tab & _ "Test 2" & ControlChars.Tab & _ "Test 3" & ControlChars.Cr myText = myText & "Joe" & ControlChars.Tab & _ "95" & ControlChars.Tab & _ "88" & ControlChars.Tab & _ "91" & ControlChars.Cr myText = myText & "Mary" & ControlChars.Tab & _ "98" & ControlChars.Tab & _ "84" & ControlChars.Tab & _ "90" & ControlChars.Cr myText = myText & "Sam" & ControlChars.Tab & _ "42" & ControlChars.Tab & _ "76" & ControlChars.Tab & _ "98" & ControlChars.Cr myText = myText & "Jane" & ControlChars.Tab & _ "65" & ControlChars.Tab & _ "73" & ControlChars.Tab & _ "92" & ControlChars.Cr Dim fontFamily As New FontFamily("Courier New") Dim font As New Font( _ fontFamily, _ 12, _ FontStyle.Regular, _ GraphicsUnit.Point) Dim rect As New Rectangle(10, 10, 450, 100) Dim stringFormat As New StringFormat() Dim solidBrush As New SolidBrush(Color.FromArgb(255, 0, 0, 255)) Dim tabs As Single() = {150, 100, 100, 100} stringFormat.SetTabStops(0, tabs) e.Graphics.DrawString(myText, font, solidBrush, RectangleF.op_implicit(rect), stringFormat) Dim pen As Pen = Pens.Black e.Graphics.DrawRectangle(pen, rect)
- 前述範例是專為與 Windows Form 搭配使用而設計的,而且它需要有 PaintEventArgs e (這是 PaintEventHandler 的參數)。
2015年2月7日 星期六
主板診斷卡常見代碼及解決
診斷卡代碼 主板診斷卡常見代碼及解決
一、常見代碼及解決:
1: FF、00、01、02 狀態不跳變 CPU未工作
推論:主板或CPU壞
2:C1(或C開頭)、D3(或D開頭) CPU已工作正在尋找內存
推論:內存壞、接觸不好
3:C0、D1 狀態,CPU已發出尋址指令並已選中BIOS,但是BIOS沒有響應
推論:BIOS、南橋、IO壞
4:C1--C5循壞跳變(同D3--D5)
推論:BIOS、IO芯片壞
5:OB、26、31時一般可點亮,如不亮
推論:顯卡、集成顯卡壞
6:0B、26、31、42、48、4E、58、0D、6F、7F、85
推論:表示主板能點亮,正檢查顯卡和鍵盤鼠標口,如果仍不亮大多為顯卡壞
常出現的代碼而又出現此碼無解的主要是 75、C1、C0、EF
解釋大概如下
75正在掃瞄硬件配置,查硬盤,光驅設備及相關接口設備和接線有否有故障
C1或C0內存故障
EFbios故障,需要對cmos進行放電操作
如果一開機檢查卡只有電壓顯示而沒有代碼顯示,就檢查cpu是否有故障
二、其他常用代碼:
1. 檢測卡跑00,CO,CF,FF或D1:
原因:CPU插槽髒。針腳壞,接觸不好。CPU,內存超頻了。CPU供電不良。某芯片發熱,硬件某部分資源不正常,在CMOS裡把其關閉或更換該集成資源的芯片。
2. C1,C2,C6,C7或E1:
內存接觸不良,(用鑷子劃)。
測內存工作電壓(SDRAM 3.3V,DDR 2.5和1.6V。)
測時鐘
CPU旁排阻是否有損壞。
測CPU地址線和數據線。
北橋壞。
3.C1~05循環跳變:
BIOS損壞
I/O壞或者南橋壞.
4.C1,C3,C6:
刷BIOS
換電源,換CPU,換轉接卡有可以解決問題.
檢查BIOS座.
PCB斷線,板上粘有導電物.
清洗內存和插槽.
換內存條.換內存插槽.
換I/O.北橋虛焊或者壞.
5.循環顯示C1~C3.或者C1~C5等.
刷BIOS.
換I/O有時可解決問題.
PCB斷線,板上粘有導電物.
可考慮換電容.換CPU.換內存.
南橋壞.
6.顯BO代碼:
看內存電壓,清CMOS,北橋壞.
7.顯示25代碼:
北橋問題.
8.跑0D後不亮:
外頻,倍頻跳線.
9.顯2B代碼後不亮:
刷BIOS.清除 BIOS.時鐘發生器不良.北橋供電不正常或者北橋壞.
10.跑50代碼:
I/O錯,南北橋,BIOS壞.
11.跑41代碼:
BIOS刷新.PCB壞或者上面有導電物.
12.跑R6代碼:檢測不到顯卡.劃者是內存沒有過.
13.跑 R7代碼:顯卡初始化沒有完成.是內存錯,或者是顯卡沒有插好.清洗插槽.反覆插試內存.
14.跑E0代碼:CPU 沒有工作.插槽髒,針腳壞.
1、"C1"內存讀寫測試,如果內存沒有插上,或者頻率太高,會被BIOS認為沒有內存條,那麼POST就會停留在"C1"處。
2、"0D"表示顯卡沒有插好或者沒有顯卡,此時,蜂鳴器也會發出嘟嘟聲。
3、"2B"測試磁盤驅動器,軟驅或硬盤控制器出現問題,都會顯示"2B"。
4、"FF"表示對所有配件的一切檢測都通過了。但如果一開機就顯示"FF",這並不表示系統正常,而是主板的BIOS出現了故障。導致的原因可能有:CPU沒插好,CPU核心電壓沒調好、CPU頻率過高、主板有問題等。
如果診斷卡的代碼跑00或FF停止,說明CPU還沒有開始工作,一般是CPU或主板的問題;
代碼從00 FF跑到C1或D3(BIOS不同跑的代碼不一定相同)說明CPU是好的,問題出在內存部分沒有工作,一般是內存的金手指或插槽髒了,或者主板給內存提供的工作條件不足,也就是說可能是主板壞了;
代碼從00 FF跑到26,一般來說如果顯卡和主板沒有問題的話,顯示器就應該點亮了;
如果代碼從00 FF跑到41,主機不亮,有很大的可能是BIOS壞了,要重新刷寫或更換BIOS。
診斷卡從00 FF代碼經過CI C3 05 07 13 26 (0B)41 43等等代碼後再次跑回00或FF,說明主板的啟動過程完畢,開始按照CMOS的設置進行引導。
一、常見代碼及解決:
1: FF、00、01、02 狀態不跳變 CPU未工作
推論:主板或CPU壞
2:C1(或C開頭)、D3(或D開頭) CPU已工作正在尋找內存
推論:內存壞、接觸不好
3:C0、D1 狀態,CPU已發出尋址指令並已選中BIOS,但是BIOS沒有響應
推論:BIOS、南橋、IO壞
4:C1--C5循壞跳變(同D3--D5)
推論:BIOS、IO芯片壞
5:OB、26、31時一般可點亮,如不亮
推論:顯卡、集成顯卡壞
6:0B、26、31、42、48、4E、58、0D、6F、7F、85
推論:表示主板能點亮,正檢查顯卡和鍵盤鼠標口,如果仍不亮大多為顯卡壞
常出現的代碼而又出現此碼無解的主要是 75、C1、C0、EF
解釋大概如下
75正在掃瞄硬件配置,查硬盤,光驅設備及相關接口設備和接線有否有故障
C1或C0內存故障
EFbios故障,需要對cmos進行放電操作
如果一開機檢查卡只有電壓顯示而沒有代碼顯示,就檢查cpu是否有故障
二、其他常用代碼:
1. 檢測卡跑00,CO,CF,FF或D1:
原因:CPU插槽髒。針腳壞,接觸不好。CPU,內存超頻了。CPU供電不良。某芯片發熱,硬件某部分資源不正常,在CMOS裡把其關閉或更換該集成資源的芯片。
2. C1,C2,C6,C7或E1:
內存接觸不良,(用鑷子劃)。
測內存工作電壓(SDRAM 3.3V,DDR 2.5和1.6V。)
測時鐘
CPU旁排阻是否有損壞。
測CPU地址線和數據線。
北橋壞。
3.C1~05循環跳變:
BIOS損壞
I/O壞或者南橋壞.
4.C1,C3,C6:
刷BIOS
換電源,換CPU,換轉接卡有可以解決問題.
檢查BIOS座.
PCB斷線,板上粘有導電物.
清洗內存和插槽.
換內存條.換內存插槽.
換I/O.北橋虛焊或者壞.
5.循環顯示C1~C3.或者C1~C5等.
刷BIOS.
換I/O有時可解決問題.
PCB斷線,板上粘有導電物.
可考慮換電容.換CPU.換內存.
南橋壞.
6.顯BO代碼:
看內存電壓,清CMOS,北橋壞.
7.顯示25代碼:
北橋問題.
8.跑0D後不亮:
外頻,倍頻跳線.
9.顯2B代碼後不亮:
刷BIOS.清除 BIOS.時鐘發生器不良.北橋供電不正常或者北橋壞.
10.跑50代碼:
I/O錯,南北橋,BIOS壞.
11.跑41代碼:
BIOS刷新.PCB壞或者上面有導電物.
12.跑R6代碼:檢測不到顯卡.劃者是內存沒有過.
13.跑 R7代碼:顯卡初始化沒有完成.是內存錯,或者是顯卡沒有插好.清洗插槽.反覆插試內存.
14.跑E0代碼:CPU 沒有工作.插槽髒,針腳壞.
1、"C1"內存讀寫測試,如果內存沒有插上,或者頻率太高,會被BIOS認為沒有內存條,那麼POST就會停留在"C1"處。
2、"0D"表示顯卡沒有插好或者沒有顯卡,此時,蜂鳴器也會發出嘟嘟聲。
3、"2B"測試磁盤驅動器,軟驅或硬盤控制器出現問題,都會顯示"2B"。
4、"FF"表示對所有配件的一切檢測都通過了。但如果一開機就顯示"FF",這並不表示系統正常,而是主板的BIOS出現了故障。導致的原因可能有:CPU沒插好,CPU核心電壓沒調好、CPU頻率過高、主板有問題等。
如果診斷卡的代碼跑00或FF停止,說明CPU還沒有開始工作,一般是CPU或主板的問題;
代碼從00 FF跑到C1或D3(BIOS不同跑的代碼不一定相同)說明CPU是好的,問題出在內存部分沒有工作,一般是內存的金手指或插槽髒了,或者主板給內存提供的工作條件不足,也就是說可能是主板壞了;
代碼從00 FF跑到26,一般來說如果顯卡和主板沒有問題的話,顯示器就應該點亮了;
如果代碼從00 FF跑到41,主機不亮,有很大的可能是BIOS壞了,要重新刷寫或更換BIOS。
診斷卡從00 FF代碼經過CI C3 05 07 13 26 (0B)41 43等等代碼後再次跑回00或FF,說明主板的啟動過程完畢,開始按照CMOS的設置進行引導。
2015年2月6日 星期五
LenB函數
VB.NET
Public Shared Function CharByte(ByVal vstrWord As String) As Integer
'aStr字串之第一個字的位元組長度
If Len(vstrWord) = 0 Then
Return 0
Else
Select Case Asc(vstrWord)
Case 0 To 255
Return 1
Case Else
Return 2
End Select
End If
End Function
Public Shared Function StrLenB(ByVal vstrValue As String) As Integer
'如同VB 6.0的LenB函數,傳回字串aStr的位元組長度
Dim i, k As Integer
For i = 1 To Len(vstrValue)
k += CharByte(Mid(vstrValue, i, 1))
Next
Return k
End Function
MessageBox.Show(StrLenB("a").ToString()) 'return 1
MessageBox.Show(StrLenB("abc").ToString()) 'return 3
MessageBox.Show(StrLenB("a亂").ToString()) 'return 3
MessageBox.Show(StrLenB("a亂b").ToString()) 'return 4
C#public static int CharByte(string vstrWord){//aStr字串之第一個字的位元組長度
if (vstrWord.Length == 0)
{return 0;
}else
{if(Convert.ToInt32(vstrWord[0]) > 255){
return 2;
}else{
return 1;
}}}public static int StrLenB(string vstrValue){//如同VB 6.0的LenB函數,傳回字串aStr的位元組長度
int i = 0;
int k = 0;
for (i =0; i < vstrValue.Length ; i++)
{k += CharByte(vstrValue.Substring( i, 1));}return k;
}MessageBox.Show(StrLenB("a").ToString()); //return 1MessageBox.Show(StrLenB("abc").ToString()); //return 3MessageBox.Show(StrLenB("a亂").ToString()); //return 3MessageBox.Show(StrLenB("a亂b").ToString()); //return 4
訂閱:
文章 (Atom)