
2007年3月29日
一个表T_department
上级部门和下级部门通过superDepID关联
最上级部门superDepID为NULL
现想获取一个部门的所有子部门
Sql语句有点生
开始思路是:
用一个递归通过superDepID
把所有子部门取全
递归结束条件却找不见
另想办法
建立一个临时表#ls
逐条遍历整个部门表
例如:从第一个部门开始
先查出第一个部门的所有上级部门
判断给定部门是否在上级部门集合中
如果成立,把第一个部门ID插入#ls
依次遍历整个部门表
最后#ls中存储的就是给定部门的所有子部门
然后再根据#ls表内容进行其他操作。
感觉有点乱
不知道还有好方法没。。。
找。。
posted @ 2007-03-29 18:13 维德成员 阅读(104) 评论(1)
编辑
软件要给客户
虽然主要还是服务
但有效期还是要稍微控制一下
我的做法:
在数据库中建了一张表
把有效期的相关信息存入
然后再客户登陆时取出信息进行一下操作:
首先判断是否存在该表,不存在跳出
若存在,解密有效期信息和当前日期进行比较
判断是否过期。
有好大的漏洞
用户修改本机日期后延即可
问了人,说延也可以啊,那单子的日期也跟着延后啊
也是啊
可又一想,登录以后再把日期改过来呢?
咋办?
想着是把第一次成功登录的日期记录一下
然后再根据这个日期来控制
找资料,解决中。。。
by aren
posted @ 2007-03-29 11:53 维德成员 阅读(606) 评论(2)
编辑

2007年3月27日
程序编好了
要发布一下
碰到了几个问题记录一下
1.显示发布成功,可选定的路径里没有生成文件
以为是配置问题,后来调查不对,还是程序本身问题;调查结果是个别页面的标签没有闭合(如form)。
2.发布成功,生成文件。
运行时发现有一部分链接打不开。
判断是程序问题,进行调查,发现程序可以正常编译,生成成功。疑碰到神,无头绪。上网查找类似症状,找到。VS区分大小写,IIS不区分。
归结起来还是编码习惯不好。
by aren
posted @ 2007-03-27 11:49 维德成员 阅读(147) 评论(0)
编辑

2007年1月17日
看了好多遍了,感觉还是很好玩!
有一次,一个记者有机会去参访居住在南极的100只企鹅,主要是想了解企鹅每天的生活内容和状态。
记者问第一只企鹅:请问你每天都做些什么呢?
第一只企鹅回答说:吃饭,睡觉,打豆豆 。。。(说“打豆豆”的时候要用轻声)
听完第一只企鹅的回答,记者心里还琢磨这个“打豆豆”是什么意思。莫非是这里流行的一种“体育运动”。带着疑问继续参访下一个企鹅。
第二只企鹅的回答也是:吃饭睡觉,打豆豆 。。。
。
。
。
直到参访到第99只企鹅的时候都是这个同样的回答。记者继续参访最后的一只企鹅。
记者:那你每天都做些什么呢!?
最后一只企鹅回答:吃饭,睡觉 。。。
记者纳闷了,继续问道:为什么前面的99只企鹅除了吃饭,睡觉还“打豆豆”。那为什么你没有这项内容呢?
最后一只企鹅很生气地回答:MD~!我就是豆豆 。。。
by aren
posted @ 2007-01-17 09:23 维德成员 阅读(34) 评论(0)
编辑

2007年1月5日
在页面加入该函数
<script language="javascript">
<!--
function client_OnTreeNodeChecked()
{
var obj = window.event.srcElement;
var treeNodeFound = false;
var checkedState;
if (obj.tagName == "INPUT" && obj.type == "checkbox") {
var treeNode = obj;
checkedState = treeNode.checked;
do
{
obj = obj.parentElement;
} while (obj.tagName != "TABLE")
var parentTreeLevel = obj.rows[0].cells.length;
var parentTreeNode = obj.rows[0].cells[0];
var tables = obj.parentElement.getElementsByTagName("TABLE");
var numTables = tables.length
if (numTables >= 1)
{
for (i=0; i < numTables; i++)
{
if (tables[i] == obj)
{
treeNodeFound = true;
i++;
if (i == numTables)
{
return;
}
}
if (treeNodeFound == true)
{
var childTreeLevel = tables[i].rows[0].cells.length;
if (childTreeLevel > parentTreeLevel)
{
var cell = tables[i].rows[0].cells[childTreeLevel - 1];
var inputs = cell.getElementsByTagName("INPUT");
inputs[0].checked = checkedState;
}
else
{
return;
}
}
}
}
}
}
//-->
</script>
在 <asp:TreeView ID="TreeView1" runat="server" onclick="client_OnTreeNodeChecked();"
ShowCheckBoxes="All" >
用onclick事件调用该函数即可实现复选框与下级复选框状态保持一致。
posted @ 2007-01-05 21:02 维德成员 阅读(80) 评论(0)
编辑

2006年12月31日
摘要: create table tb(no int,b varchar(10))insert into tb select 1,'2' union all select 1,'3'union all select 1,'4'union all select 2,'5'union all select 2,'6' union all select 2,'7'gocreate function dbo.fc...
阅读全文
posted @ 2006-12-31 10:47 维德成员 阅读(22) 评论(1)
编辑
摘要: Create Function f_getid()Returns Varchar(13)AsBeginDeclare @id varchar(13),@dt varchar(8)Select @dt=dt From v_getdateSelect @id=max(id) From tb Where id like @dt+'%'IF @id Is nullSet @id=@dt+'0001'Els...
阅读全文
posted @ 2006-12-31 10:27 维德成员 阅读(101) 评论(0)
编辑
摘要: create table test(id varchar(18), --流水号,日期(8位)+时间(4位)+流水号(4位)name varchar(10) --其他字段)go--创建生成流水号的触发器create trigger t_inserton testINSTEAD OF insertasdeclare @id varchar(18),@id1 int,@head varchar(12)s...
阅读全文
posted @ 2006-12-31 10:26 维德成员 阅读(149) 评论(0)
编辑

2006年12月30日
摘要: (1)DateTime data =DateTime.Now;dropdownlist.SelectedValue= Convert.ToString(Math.Ceiling((double)(data.Month) / 3));//用Math.Ceiling()返回>=指定数字的最小整数(2)((int)(月份-1)/3)+1 //加一为了不从一开始求季度 作者:wang
阅读全文
posted @ 2006-12-30 16:24 维德成员 阅读(164) 评论(1)
编辑