SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
2012年2月29日 星期三
T-SQL 如何知道你的SqlServer版本
2012年2月17日 星期五
jQuery 每次都參考最新的jQuery
網路參考如下就是每次都最新的
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
2012年1月2日 星期一
Asp.net Visual Studio 2010 新增3.5專案後發怖到IIS時錯誤
今天忽然想到用Vs2010來開發
想說之前都用3.5開發慣了
所以在新增"專案"(不是新增網站)時把預設的4.0改成3.5
而且IIS上面也沒安裝4.0
於是就出現以下錯誤
因為IIS上面是2.0的好像沒有CodeBehind
想說之前都用3.5開發慣了
所以在新增"專案"(不是新增網站)時把預設的4.0改成3.5
而且IIS上面也沒安裝4.0
於是就出現以下錯誤
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>錯誤後來找了一下
CodeBehind="Default.aspx.cs"要改為
CodeFile="Default.aspx.cs"
因為IIS上面是2.0的好像沒有CodeBehind
2011年12月14日 星期三
jQuery 解決select 下拉被截斷(支援連動兩個select)
找了很久終於找到jquery改變select長度被截斷的問題
原程式網頁的網頁點我
但如果是連動例如DropDownList1連動DropDownList2就必需要用jquery live(邊學邊做系列有教大家可以去看看)
好像要jQuery 1.3.2版後才有這功能喔
原程式網頁的網頁點我
但如果是連動例如DropDownList1連動DropDownList2就必需要用jquery live(邊學邊做系列有教大家可以去看看)
好像要jQuery 1.3.2版後才有這功能喔
$(function() {
$("#ctl00_ContentPlaceHolder1_DropDownList2")
.live("focus", function() {
$(this).data("selectWidth", $(this).css("width")).css("width", "auto");
$(this).css({ position: "absolute" });
})
$("#ctl00_ContentPlaceHolder1_DropDownList2")
.live("blur", function() {
$(this).css("width", $(this).data("selectWidth"));
})
});
2011年12月9日 星期五
未分類 蘋果教父賈伯斯的傳奇人生
雖然我不是很喜歡apple產品
但我今天看了"賈伯斯的傳奇人生"
以下是我的心得
賈伯斯的成功原來並不是偶然的
天時:
剛好生在科技產品盛產研發時
地利:
剛好家附近住的都是一些工程師,開啟了他小時的興趣
人和:
1.剛好家附近那些工程師人都很好
2.認識到跟自己一樣的同好
先天條件:好學、多聞、多問、創新、大膽、不同於世
後天培養:語言溝通
自我心得:
我忽然發覺成功的人不會只從是一種工作
而是在做了許多不同工作累計經驗
也許是可以有計劃性的換工作學習技能
但也可能是偶然學到的技能
都無所謂自我本身必需要去"愛"自己每天做的工作
這樣才有辦法將技能學起來
不然技能就只是賺錢的工具罷了
越多技能就需要更多的時間思考整合成一種無與倫比的技能
堅持自己的信念不輕言放棄
別太在意別人的眼光
但我今天看了"賈伯斯的傳奇人生"
以下是我的心得
賈伯斯的成功原來並不是偶然的
天時:
剛好生在科技產品盛產研發時
地利:
剛好家附近住的都是一些工程師,開啟了他小時的興趣
人和:
1.剛好家附近那些工程師人都很好
2.認識到跟自己一樣的同好
先天條件:好學、多聞、多問、創新、大膽、不同於世
後天培養:語言溝通
自我心得:
我忽然發覺成功的人不會只從是一種工作
而是在做了許多不同工作累計經驗
也許是可以有計劃性的換工作學習技能
但也可能是偶然學到的技能
都無所謂自我本身必需要去"愛"自己每天做的工作
這樣才有辦法將技能學起來
不然技能就只是賺錢的工具罷了
越多技能就需要更多的時間思考整合成一種無與倫比的技能
堅持自己的信念不輕言放棄
別太在意別人的眼光
2011年12月8日 星期四
c# 三位一撇+小數點??位
最近做到有關金額的所以常用
就寫成function 來用比較快
這之前好像有了
就寫成function 來用比較快
這之前好像有了
/// <summary>
/// 判斷是否為數字
/// </summary>
/// <param name="pNumber">傳入判斷的字串。</param>
public static bool IsNumeric(String pNumber)
{
Regex NumberPattern = new Regex("[^0-9.-]");
return !NumberPattern.IsMatch(pNumber);
}
/// <summary>
/// 三位一撇 + 小數??位
/// </summary>
/// <param name="pInt">傳入字串數字。</param>
/// <param name="小數點要幾位">傳入字串。</param>
public static string ToThree(string pInt,string p0)
{
string mReturn = string.Empty;
if (pInt != "")
{
if (IsNumeric(pInt))
{
mReturn = string.Format("{0:N"+ p0+"}", Convert.ToDecimal(pInt));
}
}
else
{
mReturn = string.Format("{0:N" + p0 + "}", "0");
}
return mReturn;
}
2011年12月6日 星期二
Asp.net 關閉子視窗重整父視窗
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "", "alert('完成');opener.location.reload();window.close();", true);
2011年12月2日 星期五
Asp.net UrlReWrite[附範例]
忽然想到UrlReWrite這個技術
網路找了一下還蠻多說明的
於是參考文章
http://www.dotblogs.com.tw/chhuang/archive/2008/03/26/2272.aspx
然後幾乎照copy啦
但是還是要自己去理解一下
還有正規表達示也要稍稍去看一下
[簡單範例下載]
網路找了一下還蠻多說明的
於是參考文章
http://www.dotblogs.com.tw/chhuang/archive/2008/03/26/2272.aspx
然後幾乎照copy啦
但是還是要自己去理解一下
還有正規表達示也要稍稍去看一下
[簡單範例下載]
2011年12月1日 星期四
Asp.net 匯出假Excel
protected void Button1_Click(object sender, EventArgs e)
{
Response.Clear();
System.Text.StringBuilder sb = new System.Text.StringBuilder(); //內容自行新增
string fileName = DropDownList1.SelectedValue.ToString() + DropDownList1.SelectedValue.ToString()+ ".xls";
if (Request.Browser.Browser == "IE")
{
fileName = Server.UrlPathEncode(fileName);
}
string style = " ";
Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName );
//Response.Write("");
Response.ContentType = "application/ms-excel";
Response.ContentEncoding = System.Text.Encoding.Default;//.Unicode;//.UTF8;//
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
//文字格式處理
Response.Write(style);
Response.Write(sb.ToString());//內容
Response.Write(stringWrite.ToString());
Response.End();
}
以下這段一定要加
public override void VerifyRenderingInServerForm(Control control)
{
//處理'GridView' 的控制項 'GridView' 必須置於有 runat=server 的表單標記之中
}
ps如放在button放在updatepanel裡
<code><asp:PostBackTrigger ControlID="Button1"/></code>
T-SQL 更新主檔總金額(多次付款)
功用
在客戶分多次款可能不會一次付清時,在新增刪除修改時都會去更新到尚欠的金額
在客戶分多次款可能不會一次付清時,在新增刪除修改時都會去更新到尚欠的金額
StatementList 主檔 StatementItem 明細檔 CX_Total : 原本的總金額 CX_Less_Money : 尚欠尾款 CX_Amount : 明細已付金額
update StatementList set CX_Less_Money = (CX_Total - ( select SUM( CONVERT(Decimal, CX_Amount ) ) from StatementItem where ID_Statement=@ID_Statement)) where ID_Statement =@ID_Statement
2011年11月30日 星期三
c# DatatableTo Linq Group by
找出dt1裡的以尺寸跟顏色來Group by
統計數量
下面是將文字變0
統計數量
下面是將文字變0
/// <summary>
/// 回傳數字Decimal,非數字及空白都變成0
/// </summary>
/// <param name="pInt">傳入字串。</param>
public static Decimal ToDecimal(string pInt)
{
Decimal mReturn = 0;
if (pInt == "")
{
mReturn = 0;
}
else
{
if (IsNumeric(pInt))
{
mReturn = Convert.ToDecimal(pInt);
}
else
{
mReturn = 0;
}
}
return mReturn;
}
var QueryA =( from u in dt1.AsEnumerable()
group u by new { CX_Size = u["CX_Size"], CX_Color_Name = u["CX_Color_Name"] } into g
select new
{
CX_Size = g.Key.CX_Size,
CX_Color_Name = g.Key.CX_Color_Name,
CX_Quantity = g.Sum(p => Convert.ToDecimal(PublicClass.ToDecimal(p["CX_Quantity"].ToString()))),
CX_Amount = g.Sum(p => Convert.ToDecimal(PublicClass.ToDecimal(p["CX_Amount"].ToString())))
}).ToList();
最後再用迴圈來統計
foreach (var mRowA in QueryA)
{
//做處理
}
c# 簡單做流水號的方法
註我的流水號是 (民國年三碼) + 月月 + 三碼流水號
所以後面有-1911
這是做月份的方式以此類推後面可以有日的
所以後面有-1911
這是做月份的方式以此類推後面可以有日的
//取得流水號
string Sql1 = " select top 1 convert(int,substring(CX_Order_No,6,3)) as maxNo from QuoteList where substring(CX_Order_No,1,5)=@yyyMM order by convert(int,substring(CX_Order_No,6,3)) desc ";
SqlCommand cmd1 = new SqlCommand(Sql1, conn);
decimal myyy = PublicClass.ToDecimal(DateTime.Now.Year.ToString() )- 1911;
myyyyMM = myyy.ToString() + int.Parse(DateTime.Now.Month.ToString()).ToString("00");
cmd1.Parameters.AddWithValue("@yyyMM", myyyyMM);
DataTable dt1 = new DataTable();
SqlDataAdapter da1 = new SqlDataAdapter(cmd1);
da1.Fill(dt1);
if (dt1.Rows.Count > 0)
{
myyyyMM = myyyyMM + int.Parse( ( PublicClass.ToDecimal(dt1.Rows[0]["maxNo"].ToString()) + 1).ToString()).ToString("000");//有時給他加1
}
else
{
myyyyMM = myyyyMM + "001";//沒有時就給他001
}
c# 不足位數補0
string test = int.Parse(DateTime.Now.Month.ToString()).ToString("00");
string test = string.Format("{0:00}", Convert.ToInt16(mNow.Month));
Asp.net 簡單的提示訊息視窗
在ap裡有msgbox
在asp.net雖然現在有很多方法
但最簡單的方是就是下面的方式啦
因為常用!!
c#
在asp.net雖然現在有很多方法
但最簡單的方是就是下面的方式啦
因為常用!!
c#
protected void AJaxShowMessage(string Message)
{
string scriptA = string.Empty;
string messageA = string.Empty;
messageA = Message.Replace("'", "\\");
messageA = messageA.Replace("\r\n", "\\n");
scriptA = string.Format("alert('{0}');", messageA);
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", scriptA, true);
}
2011年11月28日 星期一
c# 驗證日期
以下程式碼為網路上找的
但因日期時間過久所以無法知道出處
記得先using阿!!
但因日期時間過久所以無法知道出處
記得先using阿!!
using System.Text.RegularExpressions;//導入命名空間(正規表達式)
/// <summary>
/// 判斷是否為日期
/// </summary>
/// <param name="pDate">傳入字串。</param>
public static bool IsDate(string pDate)
{
return Regex.IsMatch(pDate, @"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-9]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$");
}
/// <summary>
/// 判斷是否為時間
/// </summary>
/// <param name="pTime">傳入字串。</param>
public static bool IsTime(string pTime)
{
return Regex.IsMatch(pTime, @"^((20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d)$");
}
/// <summary>
/// 判斷是否日期+時間
/// </summary>
/// <param name="pDateTime"></param>
public static bool IsDateTime(string pDateTime)
return Regex.IsMatch(pDateTime, @"^(((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d)$ ");
}
/// <summary>
/// 回傳yyyy/MM/dd
/// </summary>
/// <param name="pDate">傳入字串。</param>
public static string ToyyyyMMdd(string pDate)
{
string mReturn = string.Empty;
if (pDate != "")
{
mReturn = DateTime.Parse(pDate).ToString("yyyy/MM/dd");
}
return mReturn;
}
c# 使用System.Net.Mail.SmtpClient寄信(無需帳密)
用樣寄是很好啦不需要登入帳密
但垃圾信太多小心被封了哈!!
1.web.config要加下面這段
<system.net> <mailSettings> <smtp deliveryMethod="Network"> <network defaultCredentials="false" host="msa.hinet.net" port="25"/> </smtp> </mailSettings> </system.net>2.收件人的格式為
<abc@gmail.com> ,<def@gmail.com> ,3.使用時要new出來喔
PublicClass Class = new PublicClass();//假如這function放在PublicClass裡時 Class.SendByMail(收件人,標題,內文, 寄件人會顯示的標題, 寄件的Email);4.Function
/// <summary>
/// 用Client寄信 需New出來
/// </summary>
/// <param name="pMail">收件者可以,分格寄多人</param>
/// <param name="pSubject">信件標題</param>
/// <param name="pBody">信件內容</param>
/// <param name="pFromMailName">寄件人會顯示的標題</param>
/// <param name="pFromMail">寄件的Email</param>
public void SendByMail(string pMail, string pSubject, string pBody, string pFromMailName, string pFromMail)
{
System.Net.Mail.MailMessage Mail = new System.Net.Mail.MailMessage();
Mail.From = new System.Net.Mail.MailAddress(pFromMail, pFromMailName);
Mail.Subject = pSubject;
Mail.IsBodyHtml = true;
Mail.BodyEncoding = System.Text.Encoding.UTF8;
Mail.SubjectEncoding = System.Text.Encoding.UTF8;
Mail.Body = pBody;
//這邊多人可以回圈
char[] delimiterChars = { ',' };
string[] words = pMail.Split(delimiterChars);
foreach (string s in words)
{
if (s.Trim() != "")
{
Mail.To.Add(s);
}
}
System.Net.Mail.SmtpClient SMTPServer = new System.Net.Mail.SmtpClient(System.Web.Configuration.WebConfigurationManager.AppSettings["SmtpHost"]);
SMTPServer.Send(Mail);
System.Threading.Thread.Sleep(5);
GC.Collect();
GC.WaitForPendingFinalizers();
}
c# 去除string中重複的值
例如有一個string mStr = "1,2,3,2,4,62,24,64,1,4,75,3,2,4,75";
要去除重覆的值時可用到
要去除重覆的值時可用到
string mStr = string.Join(",", mStr.Split(',').Distinct().ToArray());
c# 資料庫查詢like寫法
/// <summary>
/// 查產品
/// </summary>
/// <param name="pTitle)">產品名稱</param>
public static DataTable GetPoducts(string pTitle)
{
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(ConnectionString()))
{
string Sql = "select * from Products where 1 = 1 and Title=@Title";
SqlCommand cmd = new SqlCommand(Sql, conn);
cmd.Parameters.Add("@Title", SqlDbType.VarChar).Value = "%" + pTitle + "%";
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
cmd.Dispose();
da.Dispose();
}
return dt;
}
c# 將圖片轉為二進位
using System.IO;
using System.Drawing;
/// <summary>
/// 將 Image 轉換為 Byte 陣列。
/// </summary>
/// <param name="ImgPath">圖片路徑 。</param>
public byte[] ImageToBuffer(string ImgPath)
{
byte[] _ImageBytes;
if (File.Exists(ImgPath))
{
Image _Image = Image.FromFile(ImgPath);
MemoryStream ms = new MemoryStream();
_Image.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
_ImageBytes = ms.GetBuffer();
ms.Dispose();
_Image.Dispose();
}
else
{
_ImageBytes = null;
}
return _ImageBytes;
}
c# 判斷是否為數字
之前在VB中有IsNumeric可判斷是否為數字
現在換到c#時忽然沒這含數
之前在網路上找到正規表達式來判斷
using System.Text.RegularExpressions;//導入命名空間(正規表達式)
/// <summary>
/// 判斷是否為數字
/// </summary>
/// <param name="pNumber">傳入判斷的字串。</param>
public static bool IsNumeric(String pNumber)
{
Regex NumberPattern = new Regex("[^0-9.-]");
return !NumberPattern.IsMatch(pNumber);
}
訂閱:
文章 (Atom)