欢迎大家访问我的BLOG,我会多多的出原创文章,希望大家支持我,为我祈祷,让我实现我的三个梦想!再30岁能成为一个名优秀的软件架构师!

最新评论

共2页: 1 2 下一页 
Re:上传图片方法大全 叮叮100 2012-02-05 22:27  
好文章,谢谢总结!
怎么加了isPostback就不显示数据呢? protected void gvProdView_InitializeLayout(object sender, Infragistics.WebUI.UltraWebGrid.LayoutEventArgs e) { try { if (!IsPostBack) { e.Layout.Bands[0].Columns[0].Header.Caption = "物料编号(CPN)"; e.Layout.Bands[0].Columns[1].Header.Caption = "物料描述"; //e.Layout.Bands[0].Columns[2].Header.Caption = "关键物料"; e.Layout.Bands[0].Columns[2].Header.Caption = "已使用的UPN"; e.Layout.Bands[0].Columns[3].Header.Caption = "扫描UPN"; e.Layout.Bands[0].Columns[0].AllowUpdate = AllowUpdate.No; e.Layout.Bands[0].Columns[1].AllowUpdate = AllowUpdate.No; //e.Layout.Bands[0].Columns[2].AllowUpdate = AllowUpdate.No; e.Layout.Bands[0].Columns[2].AllowUpdate = AllowUpdate.No; ; e.Layout.Bands[0].Columns[3].AllowUpdate = AllowUpdate.Yes; e.Layout.Bands[0].Columns[1].Width = 250; e.Layout.Bands[0].Columns[2].Width = 50; e.Layout.Bands[0].Columns[3].Width = 100; } } catch (Exception ex) { throw ex; } }
帅哥,你上方滚动字幕里面有错别字! “再27岁..."改成”在“
re: 复合自定义控件学习笔记《一》 杨佳霖 2009-04-02 22:09  
不错

function AddClass()
{
window.open("AffixClass_Add.aspx?ShowType=1","newWindow", "height=500,width=700,top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no");
}
function dialwinprocess()
{
var strName="";
var strCode="";
var newdialoguewin = window.showModalDialog("../pub/SelectCompany.aspx",window,"dialogWidth:650px;DialogHeight=700px;status:no");
if(newdialoguewin!=null){
if(newdialoguewin.length>0)
{
obj=eval(newdialoguewin);
for(i=0;i<obj.length;i++)
{
strName+=obj[i].msg_content+",";
strCode+=obj[i].owner+",";
}

strName=strName.substring(0,strName.length-1)
strCode=strCode.substring(0,strCode.length-1)

document.getElementById("txtowner").value=strName;
document.getElementById("hidowner").value=strCode;
}
}
}
博主,我现在也在做类似项目!有些问题想请教,希望能帮帮忙,可以加我MSN:)~tks
楼主,应用 和 原理的区别是一个从外面看,一个从里面看。
挂羊头,卖狗肉!
re: SQL与ORACLE的外键约束--级联删除 zzkiller 2008-05-09 10:17  
大哥你 的程序有问题吧
CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE ON UPDATE CASCADE,AGE TINYINT)
这个表不能创建啊
re: 常用正则表达式 程序缘 2008-03-07 16:14  
回车与换行的区别:
回车符就是回到一行的开头,换行符就是另起一行,我们平时编写文件的回车符应该确切来说叫做回车换行符
---------------------------------------------------------------

在控制台程序里,回车的本意是将光标移动到屏幕最左边(此时光标的横坐标没有变),换行就是将光标移动到下一行(此时光标的纵坐标没有变),两者结合起来就实现了回车(省略说法)效果。
不同系统表示方式不一样
在不同的操作系统意义不一样,比如在unix里,你敲Enter,输入的是\n,在windows敲Enter输入的是\r\n,mac里好像是\r

--------------------------------------------------------------------------------

符号 ASCII码 意义
\n 10 换行
\r 13 回车CR

re: 常用正则表达式 程序缘 2008-03-06 16:09  
JScript code
\f 匹配一个换页符。等价于 \x0c 和 \cL。
\n 匹配一个换行符。等价于 \x0a 和 \cJ。
\r 匹配一个回车符。等价于 \x0d 和 \cM。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。 //注意最前面有一个' ' 空格代表空白字符
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t 匹配一个制表符。等价于 \x09 和 \cI。
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
re: 面向事件驱动的编程 无衣 2008-02-14 21:56  
写的很好,以后要多多向你学习,我是js的小菜鸟
re: 零碎心得 程序缘 2008-01-15 09:55  
asp.net 的PlaceHolder服务器端控件,竟然不产生任何代码,真是妙哉!

绝对是一个占位容器的好东西.
re: Oracle和SQLServer常用函数对比 程序缘 2008-01-14 16:11  
关于LPAD()和RPAD()函数
语法是这样,LPAD(str,n[,str2]) LPAD(str,n[,str2])
当n并且都是从左向右取前n个字符。例如:
SELECT LPAD('CONGRANTULATIONS',5) FROM DUAL;
SELECT RPAD('CONGRANTULATIONS',5) FROM DUAL;
都会返回同一个字符串'CONGR'。

如果没有str2且n>str.length的时候,则默认为空格,例如:
SELECT LPAD('CONGRANTULATIONS',20) FROM DUAL; 结果
为'   CONGRANTULATIONS'
SELECT RPAD('CONGRANTULATIONS',20) FROM DUAL; 结果为'CONGRANTULATIONS   '


如果有str2且n>str.length的时候,
SELECT LPAD('CONGRANTULATIONS',20,'*') FROM DUAL; 结果为'****CONGRANTULATIONS'
SELECT RPAD('CONGRANTULATIONS',20,'*') FROM DUAL; 结果为'CONGRANTULATIONS****'

//获取数据,组合父子关系并且显示

table = new GetSequencesBui().getBySelfSql(strSql);

dtSon = new GetSequencesBui().getBySelfSql(m_SubSql);
try
{
ds.Tables.Clear();
ds.Tables.Add(table);
ds.Tables[0].TableName = "dtFather";
ds.Tables.Add(dtSon);
ds.Tables[1].TableName = "dtSon";
ds.Relations.Clear();
DataColumn[] dcPk ={ ds.Tables["dtFather"].Columns["PROJECT_CODE"] };
DataColumn[] dcFk ={ ds.Tables["dtSon"].Columns["project_code"] };
ds.Relations.Add("MonthRelSub", dcPk, dcFk, false);
}
catch (System.Exception myEx)
{
UIUtility.Log(myEx.Message, Request.PhysicalPath);
return;
}
this.dg_Bind.DataSource = table.DefaultView;
re: 零碎心得 程序缘 2008-01-08 11:55  
验证控件后台验证绝好心得:
if (this.Page.IsValid == false)
{
this.ip_hid_information.Value = UIUtility.fuc_GetErrMsgOfValCustom(this.ValidationSummary1, this.Page);
return;
}

//函 数 名:fuc_GetErrMsgOfValCustom
//简 介:得到格式化的未通过验证的自定义控件中的错误信息串
//参 数:1.验证信息汇总控件对象
// 2.页面对象
//返 回 值:错误信息串
//适用模块:所有模块
//设计日期:2003年4月16日
//修改日期:
public static string fuc_GetErrMsgOfValCustom(System.Web.UI.WebControls.ValidationSummary pValidationSummary, System.Web.UI.Page pPage)
{
string str_ErrorMessage = pValidationSummary.HeaderText + "\r\n";

foreach (System.Web.UI.WebControls.BaseValidator objValidator in pPage.Validators)
{
if (objValidator.IsValid == false)
{
str_ErrorMessage = str_ErrorMessage + " - " + objValidator.ErrorMessage + "\r\n";
}
}
return str_ErrorMessage;
}
re: 零碎心得 胡乐 2007-12-26 16:01  
OracleDataAdapter da = new OracleDataAdapter(dataTable.ExtendedProperties["SelectStatement"].ToString(), Connection);
da.UpdateCommand = CommandBuilder.GetUpdateCommand();
da.Update(dataTable);//返回dataTable中成功更新的行数。

其中da会自动把当前要保存的dataTable和数据库里查询(SelectStatement)出来的数据根据主键进行逐行比较,只有不相同的数据才执行更新操作.(已经实践证明过)


而:
Ds.HasChanges()
{}
则只要给当前DataTable的row赋过值,就算和取出数据库时的数据完全一样,这个值也返回true;
因此要想让它返回false,只有判断如果相等,就不给row赋值(已经实践证明过).
re: 零碎心得 胡乐 2007-12-21 11:15  
三副图片根据不同的点击,突显一副,另外两副反变
<script language="javascript">
function resetbanner(objid,typeid){
for(i=0;i<=2;i++){
document.all("oTDtype_"+i).background="../images/bg1.gif";
}
document.all("oTDtype_"+objid).background="../images/bglight.gif";

if (typeid == 0)
parent.leftframe.location = "left.php";
else
parent.leftframe.location = "left.php?id="+typeid+"&type=1";
}
</script>
re: 零碎心得 程序缘 2007-12-17 16:09  
DIV里面内容不换行:
white-space:nowrap;
re: 零碎心得 程序缘 2007-12-17 14:23  
re: 零碎心得 程序缘 2007-12-17 14:23  
不同用户防止出错文件导入方法:

imp ngepms/ngepms fromuser=cgepms touser=ngepms file=''
re: 零碎心得 程序缘 2007-12-17 14:23  
location.href=location.href
不是PostBack,尽管URL完全相同,它也不是,已经做过实验证实.
只有表单的submit才是PostBack.
re: 零碎心得 程序缘 2007-12-17 14:22  
两种打开窗口的写法:)

function showWin(Page)
{
var newwin=window.showModalDialog(Page,document.forms[0],"dialogheight:570px;dialogwidth:780px;center: Yes; help: No; resizable: No; status: No;");
}
function showBigWin(Page)
{
var newwin=window.open(Page,"_blank",'width=900,height=600,top=0,left=0,toolbar=no,menubar=no,scrollbars=yes');
}
re: asp.Net Cookie绝好实例 gggame 2007-11-27 21:15  
你的确实挺经典的,谢谢拉
统计代码展示:
private void ComputerSum()
{
//dg_SumEngineering 统计
this.dg_TrainPlan.DisplayLayout.ColFootersVisibleDefault = ShowMarginInfo.Yes;
dg_TrainPlan.Columns[2].FooterText = "合计:";
dg_TrainPlan.Columns[4].FooterTotal = SummaryInfo.Sum;
dg_TrainPlan.Columns[5].FooterTotal = SummaryInfo.Sum;
dg_TrainPlan.Columns[6].FooterTotal = SummaryInfo.Sum;
dg_TrainPlan.Columns[7].FooterTotal = SummaryInfo.Sum;
}

然后把ComputerSum()放在Page_load的最后面
记的在最开始位置加上:
using Infragistics.WebUI.UltraWebGrid;
<asp:TemplateColumn HeaderText="选择">
<HeaderStyle ForeColor="Black" CssClass="HStyleCss"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle>
<ItemTemplate>
<input type="checkbox" <%#(DataBinder.Eval(Container, "DataItem.INPUTEMPLOYEED")).ToString()==Session["pm_RowID"].ToString()?"disabled":""%> id="ck_del" value='<%# DataBinder.Eval(Container, "DataItem.PM_ROWID")%>' onchange="return SetDatagridecheck('ck_del','ip_del_str')" autocomplete="on">
</ItemTemplate>
</asp:TemplateColumn>
一段好玩而且典型的在aspx页面写服务器端代码示例~
<asp:TemplateColumn HeaderText="图纸清单" Visible="false">
<HeaderStyle ForeColor="Black"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle>
<ItemTemplate>
<% switch (Request.QueryString["ContractType"].ToString()) %>
<% { %>
<% case "设计": %>
<a href="DrawingDetail_List.aspx?pagepmrowid=<%= Request.QueryString["pagepmrowid"].ToString() %>&unit=<%# DataBinder.Eval(Container,"DataItem.tunitname")%>&ContractID=<%# DataBinder.Eval(Container, "DataItem.pm_rowid") %>&CurrProCode=<%# str_OverTime %>&confirmflag=<%# DataBinder.Eval(Container, "DataItem.confirmflag") %>">
<img alt="../img/arrow.gif" src="../img/arrow.gif"></a>
<% break; %>
<% break; %>
<% } %>
</ItemTemplate>
</asp:TemplateColumn>
re: Oracle和SQLServer常用函数对比 程序缘 2007-08-20 11:19  
关于日期的比较

SQL>

TRUNC(SYSDATE,'YEAR') ROUND(SYSDATE,'YEAR')
--------------------- ---------------------
2005-1-1 2006-1-1

TRUNC(SYSDATE,'MONTH') ROUND(SYSDATE,'MONTH')
---------------------- ----------------------
2005-8-1 2005-9-1

TRUNC(SYSDATE,'DAY') ROUND(SYSDATE,'DAY')
-------------------- --------------------
2005-8-21 2005-8-21

TRUNC(SYSDATE,'HH') ROUND(SYSDATE,'HH')
------------------- -------------------
2005-8-23 10:00:00 2005-8-23 10:00:00

关于trunc 和round数字比较

SQL>

ROUND(-4.5767,1) TRUNC(-4.5767,1)
---------------- ----------------
-4.6 -4.5

ROUND(4.5767,1) TRUNC(4.5767,1)
--------------- ---------------
4.6 4.5

ROUND(14.5767,-1) TRUNC(14.5767,-1)
----------------- -----------------
10 10
re: Oracle和SQLServer常用函数对比 程序缘 2007-08-20 11:16  
当月第一天:
trunc(sysdate,'month') ok!
下月第一天:
round(sysdate,'month') ok!

Good Luck!
re: Oracle和SQLServer常用函数对比 程序缘 2007-08-20 10:15  
我用到next_day这个function。
这样写的:
select NEXT_DAY (sysdate, 'MONDAY') FROM DUAL;
我查了NEXT_DAY 的用法,两个参数第1个是date,第2个是varchar2,返回date,但是我sql这么写会报错,错误是oracle-01846:周中的日无效
各位达人帮忙看看,要怎么写啊?


应该这样写:
select next_day(sysdate,'星期一') from dual;



duanzilin(寻) 于 2005-9-20 10:50:13

第2个参数可以是数字1-7,分别表示周日到周六

SQL> select next_day(sysdate,7) FROM DUAL;

NEXT_DAY(SYSDATE,7)
-------------------
2005-9-24 10:48:00



rolandzhang 于 2005-9-20 10:50:57

select next_day(sysdate,1) from dual
NEXT_DAY(date,char)
date参数为日期型,
char:为1~7或Monday/Mon~Sunday/Sun



duanzilin(寻) 于 2005-9-20 10:51:59

或者更改设置:

SQL> select NEXT_DAY (sysdate, 'MONDAY') FROM DUAL;

select NEXT_DAY (sysdate, 'MONDAY') FROM DUAL

ORA-01846: 周中的日无效

SQL> alter session set NLS_DATE_LANGUAGE = American;

Session altered

SQL> select NEXT_DAY (sysdate, 'MONDAY') FROM DUAL;

NEXT_DAY(SYSDATE,'MONDAY')
--------------------------
2005-9-26 10:50:25
re: Oracle和SQLServer常用函数对比 程序缘 2007-08-20 10:09  
Oracle查询时间段 包括开始时间和结束时间 怎么查啊?
悬赏分:10 - 解决时间:2007-6-3 23:11
Oracle查询时间段 包括开始时间和结束时间 怎么查啊?请教高手!十分感谢!
提问者: hmsunbo - 试用期 一级
最佳答案
用>= 和 <= 来查询或者between and 例如
select * from table where date>=to_date('2007-01-02','yyyymmdd') and date <=to_date('2007-05-02','yyyymmdd')
回答者:xiaowind - 试用期 一级 6-3 23:10
评价已经被关闭 目前有 2 个人评价

100% (2) 不好
0% (0)

其他回答 共 1 条
转换成 日期格式
然后用 大于小于号
或者用 between and
回答者:萨依法 - 经理 四级 5-25 16:08
re: Transact-SQL 游标[未登录] as 2007-07-21 19:18  
怎么改
re: Transact-SQL 游标[未登录] as 2007-07-21 19:17  
use ypgl
go
Create Trigger trg_i On YPRKDTT
after update
As
declare @li_mc char(10)
declare @SL float
declare @JE decimal
DECLARE @cursor1 CURSOR FOR select @SL from YPRKDMX
OPEN cursor1
FETCHE @cursor1 INTO @li_mc
DO WHILE SQLCA.SQLCODE=0
insert into YPKCB(@SL)values(@li_mc)
FETCHE @cursor1 INTO @li_mc
LOOP
CLOSE @cursor1
Update YPKCB SET
YPKCB.SL = inserted.SL,YPKCB.JE = inserted.JE
Return
re: Transact-SQL 游标 付 2007-07-05 09:54  
有志者事竟成,加油!
re: XML详解----Schema(精)[原创] 杨桂林 2007-06-08 14:34  
很不错的文章 赞一个!
/// <summary>
/// 确定每个出库单都必须带有至少一个的明细
/// 2007年3月29日
/// 胡乐 写于湖南娄底
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool CanConfirm(string Id)
{
bool blReturn = false;
string strSql = "";

strSql = @"select distinct OUTPUTBILLID from OUTPUTBILLDTL where OUTPUTBILLID in (" + Id + ")";
int i = ListBySql(strSql).DefaultView.Count;
int j = Id.Split(',').Length;
if (i == j)
{
blReturn = true;
}
else
{
blReturn = false;
}
return blReturn;
}
经典的方法:最简单,最方便的确保每条记录至少带一子记录的方法!
re: javascript心得! 程序缘 2007-06-01 21:21  
offsetWidth offsetHeight
属性可以获取视口的大小(显示HTML页的区域)
也就是:“该对象在浏览器显示的区域,包括空白,只要空白显示出来(比如:e1.height=200,就算文字内容没有200,其余的是空白,offsetHeight
的值也是200,只要浏览器显示那么高!)”

scrollWidth scrollHeight
属性则获取该对象真正意义上(HTML)的大小,不包括毫无意义的空白,(比如:e1.height=200,e1只有87,其余的是毫无意义空白,所以scrollHeight
的值是87!)”

re: javascript心得! 胡乐 2007-04-17 09:57  
isNaN(b)=false
re: javascript心得! 胡乐 2007-04-17 09:56  
a="300"
b=""
isNaN(a)=false;\\判断一个值是否是NaN

number(b)=0
eval(b)=undefined
re: 常用SQL字符串函数 程序缘 2007-03-30 16:36  
问:
请教一个SQL 2000 SEVER问题:
select * from itemcode
where code like ’40%’
如何让code=40101001
变成code=401-01-001
目前有666个CODE是类似40101001
用什么语句能把它变成401-01-001

答:
update itemcode set code=replace(code,left(code,8),left(code,3)+’-’+substring(code,4,2)+’-’+substring(code,6,3)) where code like ’40%’

问:
replace(code,left(code,8),left(code,3)+’-’+substring(code,4,2)+’-’+substring(code,6,3))是什么意思?

答:
拿 code=123456789 做例子
a = left(code,8) = 12345678
b = left(code,3) = 123
c = substring(code,4,2) = 45
d = substring(code,6,3) = 678
e = b+’-’+c+’-’+e = 123-45-678
f = replace(code,a,e) = 123-45-6789
配合下边的来看,应该能明白了
1、left(code,8) 取前8位
2、substring(code,4,2) 从第4位开始取2位
3、+ 是字符串连接符
4、replace(a,str1,str2) 将a中的str1替换为str2

几问几答下来,我就想着要整理一份完整的SQL字符串函数出来,借以学习和方便以后查询。


SQL字符串函数

字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类型。可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数。常用的字符串函数有:

一、字符转换函数
1、ASCII()
返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。



2、CHAR()
将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。



3、LOWER()和UPPER()
LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。


4、STR()
把数值型数据转换为字符型数据。
STR (<float_expression>[,length[, <decimal>]])
length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
当length 或者decimal 为负值时,返回NULL;
当length 小于小数点左边(包括符号位)的位数时,返回length 个*;
先服从length ,再取decimal ;
当返回的字符串位数小于length ,左边补足空格。



二、去空格函数
1、LTRIM() 把字符串头部的空格去掉。

2、RTRIM() 把字符串尾部的空格去掉。

三、取子串函数
1、left()
LEFT (<character_expression>, <integer_expression>)
返回character_expression 左起 integer_expression 个字符。

2、RIGHT()
RIGHT (<character_expression>, <integer_expression>)
返回character_expression 右起 integer_expression 个字符。

3、SUBSTRING()
SUBSTRING (<expression>, <starting_ position>, length)
返回从字符串左边第starting_ position 个字符起length个字符的部分。

四、字符串比较函数
1、CHARINDEX()
返回字符串中某个指定的子串出现的开始位置。
CHARINDEX (<’substring_expression’>, <expression>)
其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。
此函数不能用于TEXT 和IMAGE 数据类型。



2、PATINDEX()
返回字符串中某个指定的子串出现的开始位置。
PATINDEX (<’%substring _expression%’>, <column_ name>)其中子串表达式前后必须有百分号“%”否则返回值为0。
与CHARINDEX 函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、 VARCHAR 和TEXT 数据类型。

五、字符串操作函数
1、QUOTENAME()
返回被特定字符括起来的字符串。
QUOTENAME (<’character_expression’>[, quote_ character]) 其中quote_ character 标明括字符串所用的字符,缺省值为“[]”。

2、REPLICATE()
返回一个重复character_expression 指定次数的字符串。
REPLICATE (character_expression integer_expression) 如果integer_expression 值为负值,则返回NULL 。

3、REVERSE()
将指定的字符串的字符排列顺序颠倒。
REVERSE (<character_expression>) 其中character_expression 可以是字符串、常数或一个列的值。

4、REPLACE()
返回被替换了指定子串的字符串。
REPLACE (<string_expression1>, <string_expression2>, <string_expression3>) 用string_expression3 替换在string_expression1 中的子串string_expression2。

5、SPACE()
返回一个有指定长度的空白字符串。
SPACE (<integer_expression>) 如果integer_expression 值为负值,则返回NULL 。

6、STUFF()
用另一子串替换字符串指定位置、长度的子串。
STUFF (<character_expression1>, <start_ position>, <length>,<character_expression2>)
如果起始位置为负或长度值为负,或者起始位置大于character_expression1 的长度,则返回NULL 值。
如果length 长度大于character_expression1 中 start_ position 以右的长度,则character_expression1 只保留首字符。


六、数据类型转换函数
1、CAST()
CAST (<expression> AS <data_ type>[ length ])

2、CONVERT()
CONVERT (<data_ type>[ length ], <expression> [, style])

1)data_type为SQL Server系统定义的数据类型,用户自定义的数据类型不能在此使用。
2)length用于指定数据的长度,缺省值为30。
3)把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这样的INTEGER类型、结果必须是带正号或负号的数值。
4)TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符,即CHAR或VARCHAR数据类型是最大长度。
5)IMAGE类型存储的数据转换到BINARY或VARBINARY类型,最多为8000个字符。
6)把整数值转换为MONEY或SMALLMONEY类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。
7)BIT类型的转换把非零值转换为1,并仍以BIT类型存储。
8)试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。
9)用CONVERT() 函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。




七、日期函数
1、day(date_expression)
返回date_expression中的日期值

2、month(date_expression)
返回date_expression中的月份值

3、year(date_expression)
返回date_expression中的年份值

4、DATEADD()
DATEADD (<datepart>, <number>, <date>)
返回指定日期date 加上指定的额外日期间隔number 产生的新日期。参数“datepart” 取值如下:


5、DATEDIFF()
DATEDIFF (<datepart>, <date1>, <date2>)
返回两个指定日期在datepart 方面的不同之处,即date2 超过date1的差距值,其结果值是一个带有正负号的整数值。

6、DATENAME()
DATENAME (<datepart>, <date>)
以字符串的形式返回日期的指定部分此部分。由datepart 来指定。

7、DATEPART()
DATEPART (<datepart>, <date>)
以整数值的形式返回日期的指定部分。此部分由datepart 来指定。
DATEPART (dd, date) 等同于DAY (date)
DATEPART (mm, date) 等同于MONTH (date)
DATEPART (yy, date) 等同于YEAR (date)

8、GETDATE()
以DATETIME 的缺省格式返回系统当前的日期和时间


在SQLServer中如何把列中包含的数字提取出来?

答:一条记录时采用以下方法:使用PATINDEX函数找出字符串中第一次出现数字的位置
declare @aa varchar(80),----INFO列
@bb varchar(80)

set @aa ='你好12按时地方'
set @bb=''
while PATINDEX('%[0-9]%',@aa)<>0 /*每次循环找出一个数字*/
begin
set @bb = @bb+substring(@aa,PATINDEX('%[0-9]%',@aa),1)/*把找出来的数字进行相加*/
set @aa=substring(@aa,1,PATINDEX('%[0-9]%',@aa)-1)+
substring(@aa,PATINDEX('%[0-9]%',@aa)+1,len(@aa)-PATINDEX('%[0- 9]%',@aa)) /*把找出来的数字从原先的字符串中踢除出来,然后再循环找出更多的数字*/
end
select @bb/*要求得到的结果*/


要对一张表中的所有记录进行查询时,可以把上面的语句改写成一个存储过程,采用游标进行处理,并把找出来的记录插入到相应的虚拟表里面,即可得到你想要的结果
re: javascript心得! 程序缘 2007-03-15 13:40  
<script language="javascript">
<!--
function window_onunload()
{
var coll = document.all("ip_rdo_Project");
if (coll!=null)
{
if (coll.length!=null)
{
for (i=0; i<coll.length; i++)
{
if (coll.item(i).checked==true)
{
document.all("ip_hid_Select").value = coll.item(i).value;
}
}
}
else
{
document.all("ip_hid_Select").value = document.all("ip_rdo_Project").value;
}
}
}

function on_clickA()
{
if(document.all("ip_hid_Select").value!="0")
{
self.close();
return true;
}
else
{
alert("请选择一个单项工程!")
return false;
}
}

function on_clickB()
{
if(document.all("ip_hid_Select").value!="0")
{
self.close();
}
else
{
alert("请选择一个单项工程!")
}
}

function window_onbeforeunload() {
if(event.clientX+20>document.body.clientWidth && event.clientY<0 || event.altKey)
{
if(document.all("ip_hid_Select").value="0")
{
alert("由于你没有选择单项工程,系统把你导向登陆页面!");
self.close();
dialogArguments.location.href="../default.aspx";
}
}
}
function window_onload()
{
var coll = document.all("ip_rdo_Project");
if (coll!=null)
{
if (coll.length!=null)
{
for (i=0; i<coll.length; i++)
{
if (coll.item(i).value==document.all("ip_hid_Select").value)
{

coll.item(i).checked="true";
}
}
}
}

}
-->
</script>
re: javascript心得! 程序缘 2007-03-15 13:40  
以前我知道在Web中使用模态对话框的时候可以向被打开的窗口传递对象,但是我就是没有想到将父窗口的window对象传递给被打开的窗口,这样就可以在被打开的窗口中控制父窗口中的控件,真是太笨了,害得我以前走了不少弯路,在此与还不了解的朋友分享:

父页面(dialog3.htm):
<HTML>
<HEAD>
</HEAD>
<SCRIPT>
var dWin=null;
function doDialog()
{
dWin=showModelessDialog('dcontent3.htm',window,'status:no;resizable:yes');
}

function setDialogValue()
{
if (dWin != null)
{
dWin.d1.innerHTML=ip1.value;
}
}
</SCRIPT>
<BODY>
This page will invoke my DHTML dialog box when the button is clicked.
<BR><BR>
<INPUT type=text id=ip1 value='input content'>
<BR><BR>
<input type='button' onclick="setDialogValue();"
value="Set Dialog Value">
<BR><BR>
<input type='button' onclick="doDialog();" value="Create Dialog">
<BR><BR>
<DIV id=d1></DIV>
</BODY>
</HTML>

子页面(dcontent3.htm)
<HTML>
<SCRIPT>
function window.onunload()
{
dialogArguments.dWin=null;
}
</SCRIPT>

<BODY style="background-color:lightblue;margin:10;">
This is some content for my DHTML dialog box.
<BR><BR>
<DIV id=d1></DIV>
<BR><BR>
<input type='text' id=ip1 onclick='dialogArguments.d1.innerHTML=ip1.value;'>
<BR><BR>
<input type='button' onclick="dialogArguments.d1.innerHTML=ip1.value;"
value=" Apply "> &nbsp&nbsp&nbsp
<input type='button'
onclick="dialogArguments.d1.innerHTML=ip1.value;window.close();"
value=" OK ">
&nbsp&nbsp&nbsp
<input type='button' onclick="window.close();" value=" Cancel ">

</BODY>
</HTML>
re: Oracle和SQLServer常用函数对比 程序缘 2007-03-15 11:58  
切记:ORACLE和SQLSERVE中的字符都是起始终位置都是1(而不是0),从第几个位置开始,包括当前位置!
re: Oracle和SQLServer常用函数对比 程序缘 2007-03-15 11:54  
ORACLE

m i s s i s s i p p i
1 2 3 4 5 6 7 8 9 10 11

就拿你第一个test为例吧
INSTR('Mississippi', 'i',3,3)=11

这个函数会遍历找出 i 字母,准确的说是找出 i 字母所在的位置;
第三个参数(3),表示从第 3 个字母开始遍历;
第四个参数(3),表示在找到第 3 个 i 时停止,并返回当前的位置,即“是第几个字母”。

剩下的例子,请自行了断,呵呵
/// <summary>
/// 产生视图
/// </summary>
/// <returns>视图</returns>
private DataView CreatView()
{
DataView dv, dv_re = null;
if (this.ip_hid_flag.Value.ToString().Trim().ToLower() == "query")
{
//this.lbl_Caption.Text = "监控我编造的进度计划状态";
this.ip_btn_SelectAll.Visible = false;
this.ip_btn_UnSelectAll.Visible = false;
this.ip_btn_add.Visible = false;
this.ip_btn_del.Visible = false;
this.ip_btn_submit.Visible = false;
this.ip_btn_Query.Visible = false;
this.ip_btn_Request.Visible = true;
str_flag ="2";
dv_re = PROJECTWBSListBO.GetJoin().DefaultView;
dv_re.RowFilter = "tStatus<>'编制'";
}
else
{
//this.lbl_Caption.Text = "项目进度计划编制";
this.ip_btn_SelectAll.Visible = true;
this.ip_btn_UnSelectAll.Visible = true;
this.ip_btn_add.Visible = true;
this.ip_btn_del.Visible = true;
this.ip_btn_submit.Visible = true;
this.ip_btn_Query.Visible = true;
this.ip_btn_Request.Visible = false;
str_flag = "1";
dv_re = PROJECTWBSListBO.GetJoinsByPMCode(str_PMCode).DefaultView;
dv_re.RowFilter = "tStatus='编制'";
}
DataTable dt = dv_re.Table.Clone();
for (int i = 0; i < dv_re.Count; i++)
dt.ImportRow(dv_re[i].Row);
dv = dt.DefaultView;
return dv;
}
这样做,只是为了复制一个与dv_re相同DV,保存当前被过滤的版本。
因为一个dv.RowFilter之后,它就改变了,它还可以继续dv.RowFilter,dv.RowFilter,再继续dv.RowFilter,在方法返回中dv一样的被永久性过滤了!我已经做了个试验证实!

dv_re = PROJECTWBSListBO.GetJoin().DefaultView;//2
int cc = dv_re.Table.Rows.Count;//2
dv_re.RowFilter = "tStatus='0000'";//dv_re.counts=0
int bb = dv_re.Table.Rows.Count;//2
DataView dv2= dv_re.Table.DefaultView;//0
DataTable db = dv_re.Table;
int ee = db.Rows.Count;//2
DataView dv3 = db.DefaultView;//0
可以看出此时DataTable与DataView互相分离了,DataTable,rows.count始终不变,而该Table的DataView的counts已经被过滤成为0了,而且是永久性的,无法恢复。
re: SQL与ORACLE的外键约束--级联删除 程序缘 2007-03-05 11:16  
SQL与ORACLE的外键约束--级联删除

最近软件系统中要删除一条记录,就要关联到同时删除好多张表,他们之间还存在着约束关系.所以考虑到在创建表时加上约束关系,具体如下:

SQL的外键约束可以实现级联删除与级联更新;

ORACLE则只充许级联删除。

SQL级联删除与级联更新使用格式:
CREATE TABLE A001(ID INT PRIMARY KEY,NAME VARCHAR(20))
CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE ON UPDATE CASCADE,AGE TINYINT)

ORACLE级联删除使用格式:
CREATE TABLE A001(ID INT PRIMAY KEY,NAME VARCHAR2(20))
CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE,AGE NUMBER(2,0))


--------------
CREATE TABLE groups
(
id VARCHAR2(16) CONSTRAINT pk_groupid PRIMARY KEY,
name VARCHAR2(32),
description VARCHAR2(50)
)
TABLESPACE userspace;


CREATE TABLE usringrp
(
group_id VARCHAR2(16) CONSTRAINT fk_uing_grpid
REFERENCES groups(id)
ON DELETE CASCADE,
user_id VARCHAR2(16)
)
TABLESPACE userspace;

---------------
PowerDesigner
参照完整性约束


限制(Restrict)。不允许进行修改或删除操作。若修改或删除主表的主键时,如果子表中存在子记录,系统将产生一个错误提示。这是缺省的参照完整性设置。
置空(Set Null)。如果外键列允许为空,若修改或删除主表的主键时,把子表中参照的外键列设置为空值(NULL)。
置为缺省(Set Default)。如果指定了缺省值,若修改或删除主表的主键时,把子表中参照的外键设置为缺省值(Default)。
级联(Cascade)。把主表中主键修改为一个新的值时,相应修改子表中外键的值;或者删除主表中主键的记录时,要相应删除子表中外键的记录。
re: javascript心得! 程序缘 2007-03-03 16:39  
在一个 Dictionary 对象中设置或者返回所指定 key 的 item。对于集合则根据所指定的 key 返回一个 item。读/写。

object.Item(key)[ = newitem]

Item 属性包括下面这些部分:

部分 描述
object 必选项。总是一个集合的名称或 Dictionary 对象的名称。
key 必选项。与要被查找或添加的 item 相关联的 key。
newitem 可选项。仅适用于 Dictionary 对象;对于集合不可使用此项。如果提供了此项,newitem 就是与所指定的 key 相关联的新值。


说明
如果在改变一个 key 的时候没有找到该 item,那么将利用所指定的 newitem 创建一个新的 key。如果在试图返回一个已有条目的时候没有找到 key,那么将创建一个新的 key 且其相关的条目被设置为空。

下面这个例子说明了 Item 属性的用法。

function DicTest(keyword)
{
var a, d;
d = new ActiveXObject("Scripting.Dictionary");
d.Add("a", "Athens");
d.Add("b", "Belgrade");
d.Add("c", "Cairo");
a = d.Item(keyword);
return(a);
}
re: javascript心得! 程序缘 2007-03-03 16:28  
coll=document.all.item("a1");
coll[1]<=====>coll.item(1)
学到了.谢谢,呵呵
共2页: 1 2 下一页 

导航

<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

公告

昵称:程序缘
园龄:5年7个月
粉丝:2
关注:0

搜索

 
 

常用链接

随笔分类

随笔档案

文章分类

相册

UI设计

兄弟博客

积分与排名

  • 积分 - 39803
  • 排名 - 2688

阅读排行榜

评论排行榜

推荐排行榜