轉錄自PTT
CREATE PROCEDURE sp_Paging
@tblName varchar(255) ,
@strGetFields varchar(1000) = '*',
@fldName varchar(255)='',
@pageSize int = 10,
@pageIndex int = 1,
@recordCount int = 0 output,
@pageCount int = 0 output,
@orderType int = 0,
@strWhere varchar(1500) = ''
AS
declare @strSQL nvarchar(3000)
declare @strTmp varchar(110)
declare @strOrder varchar(400)
begin
if @strWhere !=''
set @strSQL = 'select @recordCount = count(*) from ' + @tblName + ' where '+@strWhere
else
set @strSQL = 'select @recordCount = count(*) from ' + @tblName
end
exec sp_executesql @strSQL,N'@recordCount int out ',@recordCount out
if @recordCount % @pageSize = 0
set @pageCount = @recordCount / @pageSize
else
set @pageCount = @recordCount / @pageSize + 1
--計算出記錄是總數和求出總共的頁數
begin
if @orderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by ' + @fldName +' desc'
--如果@orderType不是0﹐就執行降序﹐這句很重要﹗
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by ' + @fldName +' asc'
end
if @pageIndex = 1
begin
if @strWhere != ''
set @strSQL = 'select top ' + str(@pageSize) +' '+@strGetFields+ ' from ' + @tblName + ' where ' + @strWhere + ' ' + @strOrder
else
set @strSQL = 'select top ' + str(@pageSize) +' '+@strGetFields+ ' from '+ @tblName + ' '+ @strOrder
end
else
begin
if @strWhere != ''
set @strSQL = 'select top ' + str(@pageSize) +' '+@strGetFields+ ' from '
+ @tblName + ' where ' + @fldName + '' + @strTmp + '('
+ substring(@fldName, charindex('.',@fldName)+1, len(@fldName)) + ') from (select top ' + str((@pageIndex-1)*@pageSize) + ' '
+ @fldName + ' from ' + @tblName + ' where ' + @strWhere + ' '
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder
else
set @strSQL = 'select top ' + str(@pageSize) +' '+@strGetFields+ ' from '
+ @tblName + ' where ' + @fldName + '' + @strTmp + '('
+ substring(@fldName, charindex('.',@fldName)+1, len(@fldName)) + ') from (select top ' + str((@pageIndex-1)*@pageSize) + ' '
+ @fldName + ' from ' + @tblName + '' + @strOrder + ') as tblTmp)'
+ @strOrder
end
end
--print @strSQL
exec sp_executesql @strSQL
GO
2009年10月29日 星期四
2009年10月27日 星期二
2009年10月26日 星期一
Windows XP 遠端桌面修改Port
本文說明如何變更遠端桌面聽候的連接埠。'
本文將告訴您如何變更「遠端桌面」用戶端所連線的連接埠號碼。如果遠端電腦已經變更「終端機服務」或「遠端桌面」連線的「聽候」連接埠的預設連接埠,您就可能需要執行此項操作。預設連接埠為 3389。
http://support.microsoft.com/kb/304304/
- 啟動「登錄編輯程式」。
- 找出並按一下下列登錄子機碼:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
- 在 [編輯] 功能表上,按一下 [修改],再按一下 [十進位]。
- 輸入新的連接埠編號,然後按一下 [確定]。
- 結束「登錄編輯器」。
本文將告訴您如何變更「遠端桌面」用戶端所連線的連接埠號碼。如果遠端電腦已經變更「終端機服務」或「遠端桌面」連線的「聽候」連接埠的預設連接埠,您就可能需要執行此項操作。預設連接埠為 3389。
- 按一下 [開始],依序按一下 [所有程式],指向 [附屬應用程式],指向 [通訊],再按一下 [遠端桌面連線]。
- 在 [電腦] 方塊中,輸入您要連線的電腦名稱或 IP 位址,之後跟隨冒號 (:),以及要使用的連接埠號碼。
例如,如果要連線到名為 MyXPPro 電腦上的連接埠 3390,請輸入下列資訊:MyXPPro:3390如果要在 IP 位址為 10.10.10.1 的電腦上,連線到連接埠 3391,請輸入下列資訊:10.10.10.1:3391 - 按一下 [連線]。
http://support.microsoft.com/kb/304304/
Windows XP 自動登入設定
- 按「開始」,到執行,輸入:
control userpasswords2
- 按確定。
- 這時會帶出管理使用者帳號的畫面,在「使用者」這一頁面,不勾 :必須輸入使用者名稱和密碼,才能使用這台電腦,按套用。
- 此時會出現要求輸入密碼的畫面,請輸入你要自動登入的帳號與密碼,Windows XP就會以該組帳號作為自動登入的帳號。
若要恢復到原本可以選擇帳號的設定,與以上步驟都相同,只是勾起「必須輸入使用者名稱和密碼,才能使用這台電腦」
2009年10月21日 星期三
2009年10月16日 星期五
VS 2005 Winform 輸入法全型切換錯誤問題
首先在專案中新增一個Class
Public Class ImeForm
Inherits System.Windows.Forms.Form
Private Declare Function ImmGetContext Lib "imm32.dll" (ByVal hwnd As Integer) As Integer
Private Declare Function ImmGetConversionStatus Lib "imm32.dll" (ByVal himc As Integer, ByRef lpdw As Integer, ByRef lpdw2 As Integer) As Integer
Private Declare Function ImmSimulateHotKey Lib "imm32.dll" (ByVal hwnd As Integer, ByVal dw As Integer) As Integer
Private Sub Form_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
For Each objCtl As Control In Me.Controls
AddHandler objCtl.GotFocus, AddressOf ControlIME
Next
End Sub
Private Sub Form_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
ControlIME(Me, Nothing)
End Sub
Private Shared Sub ControlIME(ByVal sender As Object, ByVal e As System.EventArgs)
Dim lngStatus As Long, lngSt As Long, h As IntPtr = sender.Handle
ImmGetConversionStatus(ImmGetContext(h), lngStatus, lngSt)
If lngStatus = 9 Then ImmSimulateHotKey(h, 113)
End Sub
End Class
繼承ImeForm
Public Class ControlCenter
Inherits ImeForm
2009年10月12日 星期一
訂閱:
意見 (Atom)