SQL SERVER2005操作略记

[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
--======================================================================

posted @ 2007-11-14 13:51  大力哥的技术  阅读(710)  评论(1)    收藏  举报
版权
作者:Bober Song

出处:http://bober.cnblogs.com

Care健康:http://www.aicareyou.com

推荐空间:华夏名网

本文首发博客园,版权归作者跟博客园共有。

转载必须保留本段声明,并在页面显著位置给出本文链接,否则保留追究法律责任的权利。