2012年3月20日 星期二

[INFORMIX] 日期轉民國年


SELECT substr(CAST(1000+YEAR(reportdate)-1911 AS CHAR(4)),-3),
substr(CAST(100+MONTH(reportdate) AS CHAR(3)),-2) ,
substr(CAST(100+DAY(reportdate) AS CHAR(3)),-2),

substr(CAST(1000+YEAR(reportdate)-1911 AS CHAR(4)),-3) ||
substr(CAST(100+MONTH(reportdate) AS CHAR(3)),-2) ||
substr(CAST(100+DAY(reportdate) AS CHAR(3)),-2)
FROM Totfa
WHERE ReportMonth = 10102

結果:
(expression) (expression)_1 (expression)_2 (expression)_3
101 03 05 1010305


2012年2月27日 星期一

[LINQ]使用LINQ將Datatable轉成xml

使用LINQ將Datatable轉成xml

using System.Xml.Linq;


private string GetXmlByDt(DataTable dt)
{
XDocument Employee = new XDocument(new XDeclaration("1.0", "utf-8", "true"),
new XElement("MB1", from cust in dt.AsEnumerable()
select new XElement("A11", cust["No"]
)));

return Employee.ToString();
}


執行後結果如下

2012年2月17日 星期五

[SQL]在SQL裡下迴圈

想把另一個table的資料更新至此table裡,
用下迴圈的方式...目前想到比較好的解答就這樣了


declare @Start int
declare @End int
set @Start =1
set @End=3480
while (@Start < @End)
begin
update TABLE_A
set BirthDay =
(select BirthDay from TABLE_B where PtNo = @Start)
WHERE PtNo = @Start
set @Start=@Start +1
end

2012年2月7日 星期二

[C#]記錄程式執行時間

記錄程式執行時間
要先using System.Diagnostics;

using System.Diagnostics;
Stopwatch sw = new Stopwatch();
sw.Reset();
sw = Stopwatch.StartNew();
//要測時間的程式碼放這裡
sw.Stop();
TimeSpan e1 = sw.Elapsed;
long ms = sw.ElapsedMilliseconds;
MessageBox.Show(e1 + "秒 " + ms + "毫秒");

2012年1月19日 星期四

[C#]將文件寫入檔案裡

將文件寫入檔案裡,會自動產生一個檔案,把文字寫入此檔案裡


private bool CreateXml(string xml)
{
try
{
string sNow = DateTime.Today.Year.ToString()
+ DateTime.Now.ToString("MMddHHmmss");
string spath = @"c:\RecXml\RecsXml" + sNow + ".xml";
StreamWriter sw = File.AppendText(spath);
sw.WriteLine(xml);
sw.Flush();
sw.Close();

HisMessage.ShowHint("檔案寫入成功,路徑:" + spath);
return true;
}
catch
{
HisMessage.ShowHint("寫入xml檔時發生錯誤");
return false;
}
}

[SQL]將查詢出來的表格轉成XML-FOR XML

將查詢出來的表格轉成XML-FOR XML

SELECT 1 AS A00,
NhiType AS A01,
1.0 AS A02
FROM NhiICCardRecord
WHERE NhiNo = 1
FOR XML PATH ('REC')

SELECT執行後,就會直接產生可點開的XML



產生的XML內文就是以REC為根目錄,每個欄位就各為TAG

[C#]顯示處理進度狀態-ProgressBar

想要在畫面上顯示處理進度狀態.從工具箱抓出來再加幾小段程式即可

progressBar1.Maximum = 600;
for (int i = 1; i <= 600; i++)
{
sxml = sxml + GetREC(i);
progressBar1.Value = i;
}