2012年3月5日 星期一

ECSHOP 最大的免費網路商店系統

官網:ECSHOP是一款開源免費的網路商店系統
--
 『免費 + 開源』ECSHOP是一款開源免費的網路商店系統。由專業的開發團隊升級維護,為您提供及時高效的技術支持,您還可以根據自己的商務特徵對ECSHOP進行定製,增加自己商店的特色功能。 『強大 + 簡便』ECSHOP除了注重功能上的強大以外更重要的特點就是操作上的方便快捷。我們設身處地為用戶著想的設計理念使我們的產品達到了極高的易用性。只需輕點鼠標+簡單錄入即可完成商店管理。 『效率 + 速度』ECSHOP在系統架構,數據庫,程序等方面的設計都由資深的專業人士完成,保證了系統的健壯和效率,高效合理的管理流程助您在瞬息萬變的商務活動中始終領先一步,掌握市場的主動權。

--
真是棒呀,值得推薦!!
不用再自己搞得累翻了,結果排版.美工都不行!!

updatecommand 已經影響必須是 1 記錄的 0

參考來源
---
g 了都是一推問題,我也中獎了
最終解決方式:
 在添加,修改,删除间添加:ds.AcceptChanges();

2012年3月4日 星期日

ms-sql update 序號

參考引用
--
底下的方法真是實用:
 方法1:
declare @i int
set @i=0
update tableName set 序号=@i,@i=@i+1


方法2:
update
 a
set
 序号=px
from
 (select *,px=row_number()over(order by getdate()) from tb)a

序號(ROW_NUMBER,RANK,OVER)

請參考來源1
請參考來源2 
--
 ※ ROW_NUMBER() :可以依照指定的欄位將所有記錄進行排序

然後再依照順利為每一筆記錄給定一個序號

但如果指定的欄位資料一樣時,會依照其他依據來決定排名,因此名次不會相同。

以下是借用原文章的SQL語法:

    SELECT 書籍編號, 書籍名稱, 價格, 出版公司,  
    ROW_NUMBER() OVER(ORDER BY 價格) AS 價格排名  
    FROM 書籍

※ RANK():遇到相同的數值會給相同的排名,其後的排名則會跳過

例如有三個第 2 名時, 就不會有第 3 及第 4 名, 它會從第 5 名開始

RANK() 的用法與 ROW_UNMBER() 是類似的。

語法如下:

    SELECT 書籍編號, 書籍名稱, 價格, 出版公司,  
    RANK() OVER(ORDER BY 價格) AS 價格排名  
    FROM 書籍

※ DENSE_RANK():如果排名不想被自動跳過的話可以使用這個函數。

語法如下:

    SELECT 書籍編號, 書籍名稱, 價格, 出版公司,  
    DENSE_RANK() OVER(ORDER BY 價格) AS 價格排名  
    FROM 書籍



 ■ 指定查詢範圍

排序函數除了可以將所有記錄進行排序, 還能夠指定查詢第 M 筆到第 N 筆的記錄。

語法如下:

    SELECT * FROM
    (
        SELECT RANK() OVER (ORDER BY 價格) AS 價格排名, * FROM
        (
            SELECT * FROM 書籍
        )AS DT1
    )AS DT2
    WHERE 價格排名 BETWEEN (第 M 筆) AND (第 N 筆)



===== ICE NoteBook ======


SELECT t2.*, b.title as sfm_title FROM  
(  
    SELECT rank() OVER (ORDER BY t1.id DESC) AS RankNumber, * FROM  
    (  
         select * from focus_detail where delete='F'
    ) AS t1  
)AS t2 inner join focus_master b on b.id=t2.sfm_id  
WHERE RankNumber between 11 and 20
 上面這個例子各位要注意一下inner join的位置,如果你是擺在最內層join的話,是沒問題的,

但如果你像我一樣是擺在最外層才join,最後排出來的順序會亂跳,

所以必須在最後加上order by 的語法將取得的資料排程你所需要的順序



SELECT t2.*, b.title as sfm_title FROM  
(  
    SELECT rank() OVER ( ORDER BY t1.id DESC ) AS RankNumber, * FROM  
    (  
         select * from focus_detail where delete='F'
    ) AS t1  
)AS t2 inner join focus_master b on b.id=t2.sfm_id  
WHERE RankNumber between 11 and 20  ORDER BY t1.id DESC

SELECT 自動加序號


SAMPLE 北風

select count(*) sn, a.CustomerID from Customers a , Customers b
where b.CustomerID <= a.CustomerID
group by a.CustomerID
order by a.customerid

Result:

sn          CustomerID
----------- ----------
1           ALFKI
2           ANATR
3           ANTON
4           AROUT
5           BERGS
6           BLAUS

2012年3月3日 星期六

如何取得每月的最後一天


'做法都是用隔月的第一天減一天

'VB

Private Sub Command1_Click()
    Dim d As Date
        d = "2006/05/03"
        MsgBox (DateAdd("M", 1, Format(d, "YYYY/MM") & "/01") - 1)
End Sub
'VB.NET

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim d As Date
        d = "2006/05/03"
        MsgBox(Date.Parse(d.AddMonths(1).ToString("yyyy/MM") & "/01").AddDays(-1))

End Sub

2012年3月1日 星期四

成績做排序

參考引用
--
DECLARE @Score TABLE([Name] NVARCHAR(30), [Score] INT);

INSERT INTO @Score VALUES ('John', 100);
INSERT INTO @Score VALUES ('Mary', 100);
INSERT INTO @Score VALUES ('Bob', 96);
INSERT INTO @Score VALUES ('Peter', 96);
INSERT INTO @Score VALUES ('Cindy', 95);

SELECT  
 Name AS '姓名',
 Score AS '成績',
 RANK() OVER (ORDER BY Score DESC) AS '名次' 
FROM @Score;

DataGridViewComboBoxColumn set default value

在 g 這標題問題時,真的找不到問題的解答
因宣告 DataGridViewComboBoxColumn  之後,要設定預設值;就不是combox這樣 index=0 即可
翻了好久,沒解答
只好利用在宣告 DataGridViewComboBoxColumn  時,先取第一筆資料來當預設值了

若有更好方式,還請指教;謝謝