1.Sqlserver2005中cast和convert的用法:
将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。
语法
使用 CAST:
CAST ( expression AS data_type )
使用 CONVERT:
CONVERT (data_type[(length)], expression [, style])
参数
expression
是任何有效的 Microsoft® SQL Server™ 表达式。
data_type
目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型
length
nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。
style
日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。
2.多次为 'RET' 指定了列 'article_id'。
Select ret.* from (select a.aticle_id,a.title,a.content,b.article_id from table_a as a,table_b as b where a,artcle_id=b.article_id )as ret
去掉b.article_id即可。在进行关联条件的查询时,后面的一个条件不是必须条件。(一直以为后面的条件是必须在前面查询条件中药出现的)
3.通用模块通过js调用。
通过在后台代码中输出代码,比如outputsearch.aspx,前台页面去掉html部分的代码,然后在其他页面通过类似JavaScript调用的方式,直接引用对应的文件即可。这样模块实现重用,很方便。
4.在将 nvarchar 值 '1-' 转换成数据类型 int 时失败。
按照月份查询10,11,12月时,报上述错误,是因为数据类型是nvarchar,在后台switch条件中的10,11,12加上单引号,也就是成为字符串类型就解决啦。
5.Sql存储过程结果的调试。
在sql查询器中找到对应的存储过程,右键选择执行存储过程,输入对应的条件,然后输出sql语句。(做分页的时候用到的)
6.requeset.[form]无法获取到的页面中的参数值
解决方案,当时页面form中用的是get方法,但是页面获取传值的方法确实用的request.form,修改为requeset.QueryString即可。
知识补充:
A.ruquest.form和request.querystring的区别
Request.Form:获取以POST方式提交的数据(接收Form提交来的数据);
Request.QueryString:获取地址栏参数(以GET方式提交的数据)
Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString、Form、ServerVariable中都搜寻一遍。而且有时候也会得到不同的结果。如果你仅仅是需要Form中的一个数据,但是你使用了Request而不是Request.Form,那么程序将在QueryString、ServerVariable中也搜寻一遍。如果正好你的QueryString或者ServerVariable里面也有同名的项,你得到的就不是你原本想要的值了。
B.表单提交中Get和Post方式的区别
1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。
5. get安全性非常低,post安全性较高。