随笔-22  评论-39  文章-0  trackbacks-0
  2006年3月1日
地点:上海
公司:上海微创软件有限公司 www.wicresoft.com
部门:微创企业服务部
指责:开发,维护运营系统。
要求:熟悉asp.net,以c#为主,但以前有vb.net的项目需要维护。熟悉sqlserver,有oop的知识和意识(熟悉oop更好),一周至少能工作3人日(如果你周末比较空闲,可以来上班,有工资的)。勤奋好学,诚实守信。
待遇:基本日薪50,如果工作表现好,还有每日30元的奖金,公司备有饼干,牛奶,酸奶,可乐等食品。前任实习生拿到了奖金,希望你也可以拿到:)
人数:1
有意者请联系qliu@wicresoft.comdarzui@hotmail.com, 或者致电021-63352266-6837,联系人David Liu
posted @ 2006-03-01 10:51 David 阅读(107) | 评论 (0)编辑
  2005年12月30日
投资首先是要看退出机制通畅不通畅、其次才是看收益高不高
posted @ 2005-12-30 16:49 David 阅读(153) | 评论 (0)编辑
  2005年12月21日

select top 页大小 *
from table1 
where id>
      (
select max (id) from 
      (
select top ((页码-1)*页大小) id from table1 order by id) as T
       )     
  
order by id

从publish 表中取出第 n 条到第 m 条的记录:

SELECT TOP m-n+1 * 
FROM publish 
WHERE (id NOT IN 
    (
SELECT TOP n-1 id 
     
FROM publish)) 

SELECT TOP 页大小 *
FROM Table1
WHERE not exists
(
select * from (select top (页大小*页数) * from table1 order by id) b where b.id=a.id )
order by id

posted @ 2005-12-21 11:49 David 阅读(143) | 评论 (0)编辑
  2005年12月16日
在Edwards的指点下,查了这个kb
http://support.microsoft.com/default.aspx/kb/194124/EN-US/

原来是这样的:如果excel的某列既有数字值又有文本值,那么DAO的OpenRecordset方法就会返回Null。
然而我按照kb上的做法,在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Excel
下添加了IMEX 值并设为1,还是无法解决问题。
2005里的SSIS分为Excel Source和OLE DB Source,Excel Source想必和2000是一样的,OLE DB Source是用Microsoft Jet 4.0/3.5 OLE DB Provider连Excel,我觉得底层还是和2000一样,都是用Jet读Excel,所以SSIS里也存在这个问题。
关于Jet,OLE DB和DAO的关系,我是这么理解的。Jet是一个底层的数据引擎,用来直接操作Excel,Access等数据源的数据。OLE DB和DAO都是对底层引擎的封装。OLE DB是一套COM组件,DAO貌似是个比较老的名次,以前用delphi的时候用到过,但没怎么研究,DAO也是COM吗?
posted @ 2005-12-16 17:22 David 阅读(485) | 评论 (1)编辑
  2005年12月14日

经常出现这种情况,excel里面明明有数据,通过dts(或all tasks--import data)导入到数据库,数据就成null了。在导入过程中预览,也看不到数据。通过函数把改数据转换为字符性,就可以正常导入。是不是dts真的不能识别excel中类型为数字的列?出了用函数转换,还有没有别的办法?如果列很多的话,转换太麻烦了。

posted @ 2005-12-14 14:09 David 阅读(153) | 评论 (0)编辑
  2005年12月12日

这样写是错的

declare @qa nvarchar(200)
declare @i int
declare @sql nvarchar(255)

set @i = 1
while @i <= 5 
begin
  
set @sql = 'select q' + convert(nvarchar(2), @i+ ' from ImportSurveyInfo'
  
set @i = @i + 1
 
declare cur cursor for exec @sql
 
open cur
 
fetch cur into @qa
 
select @qa
 
close cur
 
deallocate cur
end
应该这样
declare @qa nvarchar(200)
declare @i int
declare @sql nvarchar(255)

set @i = 1
while @i <= 5 
begin
  
set @sql = 'declare cur cursor for 
               select q
' + convert(nvarchar(2), @i+ ' from ImportSurveyInfo'
   
set @i = @i + 1
   
exec(@sql)
 
open cur
 
fetch cur into @qa
 
select @qa
 
close cur
 
deallocate cur
end
posted @ 2005-12-12 18:11 David 阅读(747) | 评论 (0)编辑
  2005年12月9日

先给Row设置Grouping属性,如下图

点击OK,然后我就发现,无论如何无法取消掉那个Grouping属性

这个属性的编辑框,是只读的。我点击...按钮,弹出上面的对话框,把Name和Group On删掉,但是点OK后就报错。
这时候我再Insert新的Row,也自动有了Grouping属性,而且也删不掉。见下图。

只有把当前的这个table删掉,再拖一个table进来,才没Grouping了。
这是bug吗?

posted @ 2005-12-09 17:10 David 阅读(299) | 评论 (1)编辑
  2005年12月1日
地点:上海
公司:上海微创软件有限公司 www.wicresoft.com
部门:微创企业服务部
指责:开发,维护运营系统。
要求:熟悉asp.net,以c#为主,但以前有vb.net的项目需要维护。熟悉sqlserver,有oop的知识和意识(熟悉oop更好),一周至少能工作3人日(如果你周末比较空闲,可以来上班,有工资的)。勤奋好学,诚实守信。
待遇:基本日薪50,如果工作表现好,还有每日30元的奖金,目前在工作的实习生拿到了奖金,希望你也可以拿到:)
人数:1
有意者请联系qliu@wicresoft.comdarzui@hotmail.com, 或者致电021-63352266-6837,联系人David Liu
posted @ 2005-12-01 10:37 David 阅读(929) | 评论 (6)编辑
  2005年11月22日
insert into student(sno,sname,ssex,sage,sdept)  select  '95001','李勇','男','20','cs'
union  select '95002','刘晨','女','19','is'
union select '95003','王敏','女','18','ma'
union select  '95004','张立','男','19','is' 
posted @ 2005-11-22 19:09 David 阅读(354) | 评论 (0)编辑
  2005年11月18日
/*--获取连接SQL服务器的信息 

所有连接本机的:操作的数据库名,计算机名,用户名,网卡物理地址,IP地址,程序名 
-
*/
 

/*--调用示例 
--显示所有本机的连接信息 
exec p_getlinkinfo 

--显示所有本机的连接信息,包含ip地址 
exec p_getlinkinfo @includeip=1 

--显示连接指定数据库的信息 
exec p_getlinkinfo '客户资料' 
--
*/
 
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_getlinkinfo]') and OBJECTPROPERTY(id, N'IsProcedure'= 1
drop procedure [dbo].[p_getlinkinfo] 
GO 

create proc p_getlinkinfo 
@dbname sysname
=null--要查询的数据库名,默认查询所有数据库的连接信息 
@includeip bit
=0 --是否显示IP地址,因为查询IP地址比较费时,所以增加此控制 
as 
declare @dbid 
int 
set @dbid=db_id(@dbname) 

create table #tb(id 
int identity(1,1),dbname sysname,hostname nchar(128),loginname nchar(128),net_address nchar(12),net_ip nvarchar(15),prog_name nchar(128)) 
insert into #tb(hostname,dbname,net_address,loginname,prog_name) 
select distinct hostname,db_name(dbid),net_address,loginame,program_name from master..sysprocesses 
where hostname
<>'' and (@dbid is null or dbid=@dbid) 

if @includeip=0 goto lb_show --如果不显示IP地址,就直接显示 

declare @sql varchar(
500),@hostname nchar(128),@id int 
create table #ip(hostname nchar(
128),a varchar(200)) 
declare tb cursor local 
for select distinct hostname from #tb 
open tb 
fetch next from tb into @hostname 
while @@fetch_status=0 
begin 
set @sql='ping '+@hostname+' -a -n 1 -l 1' 
insert #ip(a) exec master..xp_cmdshell @sql 
update #ip 
set hostname=@hostname where hostname is null 
fetch next from tb into @hostname 
end 

update #tb 
set net_ip=left(a,patindex('%:%',a)-1
from #tb a inner join ( 
select hostname,a
=substring(a,patindex('Ping statistics for %:%',a)+20,20) from #ip 
where a like 
'Ping statistics for %:%') b on a.hostname=b.hostname 

lb_show: 
select id,数据库名
=dbname,客户机名=hostname,用户名=loginname 
,网卡物理地址
=net_address,IP地址=net_ip,应用程序名称=prog_name from #tb 

go

或者直接查master库里面的sysprocesses表
posted @ 2005-11-18 14:45 David 阅读(422) | 评论 (0)编辑