Oracle的常用数据类型和几个小的知识点——《一周问题集》

来源:互联网 发布:aes加密算法java实现 编辑:程序博客网 时间:2024/05/16 00:33

一、Oracle的常用数据类型解析

VARCHAR2Oracle提供的特定数据类型,Oracle可以保证VARCHAR2在任何版本中该数据类型都可以向上和向下兼容。
VARCHAR
Oracle中不建议使用。

具体到NVARCHAR2VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则

1NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。

2、而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个。

 

oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。int类型只能存储整数;number可以存储浮点数,也可以存储整数;number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全;number(8)存储总长度为8的整数;int相当于number(22),存储总长度为22的整数。

 

二、Oracle报“ORA—00913:值过多”错误。

 这是由于我们向数据库中传递的参数的个数和数据库中相应的字段的数量不一致,所以就产生了一对多,或多对一的现象,

    下面举个例子:

    Insert into XX(?,?,?) values(?,?,?)

上面是我们自己写的sql语句,我们要插入的值是3个。而数据库中对表XX的定义字段却只有两个,即XX?,?)。所以我们传的参数的个数多出一个,这样数据库就会报“ORA-00913:值过多

    所以我们需要把上面的sql语句改为

  Insert into XX(,) values(?,?) 或者修改数据库表中字段的个数。

 

三、Sys.WebForms.PageRequestManagerTimeoutException:服务器请求超时

这是脚本错误,原因是ScriptManager异步访问超时。

解决:将ScriptManagerAsyncPostBackTimeout属性值设置大一点,该属性值单位为秒,默认是90,异步请求时间超出90秒时会发生以上错误。

<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="1000"> </asp:ScriptManager> ...

 

四、在c#中把当前时间减去十分钟的写法:

System.DateTime.Now.AddMinutes(-10);

 

五、HttpContext.Current.Server.MapPath("XXX");记住前面的命名空间

 

 

 

原创粉丝点击