获取SQL Server服务器列表的几种方法
一、 SQL DMO 描述:SQL Distributed Management Objects(SQL分布式管理对象),存在于SQLDMO.dll文件中,实际上是一个COM 对象,通过调用SQL DMO的ListAvailableSQLServers方法取得。 列表类型:列举装有“客户端”和“服务端”的计算机。 适用条件:装有 SQL Server,且有SQLDMO.dll文件。 速度:中 调用示例:GetSQLServerList(ListBox1.items); 代码: uses ComObj; function GetSQLServerList(var AList: TStrings): Boolean; var SQLServerApp: Variant; ServerList: Variant; i: Integer; begin Result := True; try SQLServerApp := CreateOleObject('SQLDMO.Application'); ServerList := SQLServerApp.ListAvailableSQLServers; for i := 1 to ServerList.Count do AList.Add(ServerList.Item(i)); SQLServerApp := Unassigned; ServerList := Unassigned; except Result := False; end; end; 二、 NetServerEnum 描述:网络服务函数,存在于NetApi32.dll文件中;通过NetServerEnum函数可取得装有SQL Server服务端的计算机列表,只装有SQL Server客户端的计算机将不会被列举其中;如果一台计算机的SQL Server服务刚刚启动,那么此函数将会过很久才能取到该计算机。 列表类型:仅列举装有“服务端”的计算机。 适用条件:有NetApi32.dll文件。 速度:快 调用示例:GetSQLServerList(ListBox1.items); 代码: type NET_API_STATUS = DWORD; PServerInfo100 = ^TServerInfo100; _SERVER_INFO_100 = record sv100_platform_id: DWORD; sv100_name: LPWSTR; end; {$EXTERNALSYM _SERVER_INFO_100} TServerInfo100 = _SERVER_INFO_100; SERVER_INFO_100 = _SERVER_INFO_100; {$EXTERNALSYM SERVER_INFO_100} const NERR_Success = 0; MAX_PREFERRED_LENGTH = DWORD(-1); SV_TYPE_SQLSERVER = $00000004; function NetApiBufferAllocate(ByteCount: DWORD; var Buffer: Pointer): NET_API_STATUS; stdcall; external 'netapi32.dll' name 'NetApiBufferAllocate'; function NetServerEnum(ServerName: LPCWSTR; Level: DWORD; var BufPtr: Pointer; PrefMaxLen: DWORD; var EntriesRead: DWORD; var TotalEntries: DWORD; ServerType: DWORD; Domain: LPCWSTR; ResumeHandle: PDWORD): NET_API_STATUS; stdcall; external 'netapi32.dll' name 'NetServerEnum'; function NetApiBufferFre
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
如果是类似"select * from user where uid="+uid +" and pwd="+pwd 很容易出问题
使用 SQLParamenter
把你的SQL语句写成 类似存储过程 ......
1. SQL优化的原则是:将一次操作需要读取的BLOCK数减到最低,即在最短的时间达到最大的数据吞吐量。
调整不良SQL通常可以从以下几点切入:
检查不良的SQL,考虑其写法是否还有可优化内容
检查子查询 考虑SQL子查询是否可以用简单连接的方式进行重新书写
检查优化 ......
Next up in the Inside the Storage Engine series is a discussion of page structure. Pages exist to store records. A database page is an 8192-byte (8KB) chunk of a database data file. They are aligned on 8KB boundaries within the data files, starting at byte-offset ......
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DB, ADODB,comobj, OleServer,
ExcelXP;
type
TForm1 = class(TForm)
ADOConn: TADOConnection;
& ......