[with ties]
当从表中查询TOP记录时.可能会把满足条件但又不属于TOP的记录漏掉.
为了防止这种情况,可以使用关键字with ties;
select TOP 10 with ties * from Table where [] order by columnName asc;
以上语句可以把columnName 排序后,如果第十条的columnName 和第十一条的columnName 相同,
一样会把第十一条记录选出来.
当然也可以在with ties 直接跟上如果会重复的字段,来防止会漏掉的记录.
=》SQL SEVER2005连接字符串:
connectionString="Data Source=192.168.2.239,1433;Initial Catalog=HKSE;Persist Security Info=True;User ID=id;Password=word;
connectionString="Server=BOBER\SQLExpress;Integrated Security=true;DataBase=KK";
=》(1)查询表中表的个数:
select count(TABLE_NAME) as TABLE_COUNT from information_schema.tables:
(2)设置乍增变量ID为1
dbcc checkident(Table_Name,reseed,0)
将带有自增列的表的自增列值初始值设为0,即第一行该值为1;
=》操作EXCEL文件时的SHEET表信息:
(1)string sFileName = @"c:\a.xls"; /别忘了添加引用Excel
object missing=Missing.Value;
Excel.Application excelApp = new Excel.Application();
excelApp.Workbooks.Open(sFileName,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing);
for(int i=0;i<excelApp.Workbooks[1].Worksheets.Count;i++)
{
Excel.Worksheet ws = (Excel.Worksheet)excelApp.Workbooks[1].Worksheets[i+1];
string sSheetName = ws.Name;
}
(2)String connString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + excelFile + ";Extended Properties=Excel 8.0;";
objConn = new OleDbConnection(connString);
objConn.Open();
dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
=>一般数据库操作略记:
--=======================================sqlserver全==================
---opendrowset
--操作sqlserver数据库
select * from openrowset(\'sqloledb\',\'192.168.2.55\';\'sa\';\'sa\',\'select * from hks.dbo.hks_mm_user\')
--操作access数据库
select * from openrowset(\'Microsoft.Jet.OLEDB.4.0\',\'d:\data.mdb\';\'admin\';\'\',admin)
--操作excel数据库
select * from openrowset(\'microsoft.jet.oledb.4.0\' ,\'excel 5.0;hdr=no;imex=2;database=D:\data.xls\',[sheet1$])
--操作text
select * from OPENROWSET(\'MICROSOFT.JET.OLEDB.4.0\',\'Text;HDR=no;DATABASE=d:\\',[a#txt])
--操作db2
select * from openrowset(\'ibmdadb2\',\'dsn=rich\',\'select * from RICH.I_INSURANCEFOOD\') --dsn 链接
select * from openrowset(\'ibmdadb2\',\'dsn=ffff;uid=rich;pwd=*&^%4321\',\'select * from RICH.I_INSURANCEFOOD\') --dsn 链接 带密码
--=======================================================================
--opendatasource
--操作sqlserver
select * from opendatasource(\'sqloledb\',\'data source="192.168.2.55";user id="sa";password="sa"\').hks.dbo.hks_mm_user
---操作access
select *
FROM OPENDATASOURCE (\'Microsoft.Jet.OLEDB.4.0\', \'Data Source="D:\data.mdb";user id=admin;password=;\')...admin
--操作excel
select *
FROM OPENDATASOURCE (\'Microsoft.jet.oledb.4.0\', \'data source="d:\data.xls";Extended properties=Excel 5.0\' )...[sheet1$]
--操作text
select * from openDataSource(\'microsoft.jet.oledb.4.0\',\'Data Source=D:\;Extended properties=Text;\')...a#txt
--====================================================================
--因为SQL2005默认是没有开启\'Ad Hoc Distributed Queries\' 组件,开启方法如下
EXEC sp_configure \'show advanced options\', 1
GO
RECONFIGURE
GO
EXEC sp_configure \'Ad Hoc Distributed Queries\', 1
GO
RECONFIGURE
GO
--======================================access========================
--access操作其他数据库----------
--sqlserver
select * from hks_mm_user IN [ODBC][ODBC;DRIVER=SQL SERVER;user id=SA;password=sa;server=192.168.2.55;DATABASE=hks;]
--excel--
SELECT * FROM [Excel 5.0;database=D:\web\ASP\jck1\database\book.xls].[Sheet1$];
--Text-
SELECT * FROM [Text;database=D:\].a.txt;
--vf--
SELECT * FROM [dbase 5.0;database=D:\].vf.DBF
--======================================================================