asp.net编程值的注意的一点点东东
来源:互联网 发布:淘宝客服几点上班 编辑:程序博客网 时间:2024/04/30 22:39
个人觉得重点的东西
一:ImageButton/LinkButton(用模板编辑的) url传参数的写法
PostBackUrl=’<%# “ EditRoom.aspx id=”+<%# Eval(“页面的Id”)%>’
二HyperLinkField(配置数据源的,不用模板的,自带的链接) url传参数的写法
<asp:HyperLinkField HeaderText="详细" DataNavigateUrlFormatString='~/Admin/AdminBooksDetail.aspx?id={0}' DataNavigateUrlFields="Id" Text="查看" />
三 删除的时候给个提示信息(在rowDataBound事件里面写)
if(e.Row.RowType ==DataControlRowType.DataRow)
{
LinkButton btn = (LinkButton)e.Row.FindControl("linkBtnDelete");
btn.Attributes.Add("onclick","javascript:return confirm('"+string.Format("你是否要删除车牌为{0}吗?",DataBinder.Eval(e.Row.DataItem,"busNo"))+"')");
}
四 使用Sql结合asp.net注意的技巧:
1,如何获取当前时间与数据库表中时间差
其实可以用 sql 语句可以实现这一效果:
Select datediff(s,”字段名”,getDate()) from 表名
注释:datediff()是sql里面的一个函数,s指的是所间隔的秒数,getDate()是当前系统时间
2,消除数据库表中某列重复的值,
使用关键字:distinct
3 采用:ExecuteScalar()改方法是返回数据集的首行首列,如果采用该方法执行,增,删,改,操作,一定要注意,在写sql语句的时候一定要记得使用 (“;select @@IDENTITY”)如:”insert into users Values(@userName,@password);select @@indentity”才能确返回受影响的行,否则查询出来的是一个null值,什么东西也没有,但是如果使用ExecuteNoQuery()的时候不要加这(“;select @@IDENTITY”),改方法执行的时候就是返回受影响的行,切记切记
五:使用事务处理多条sql语句
特点:同时执行多条sql语句,只有两条或多条sql语句同时能执行,并且都执行成功的前提下才能有效的发挥事务的特点,才能提交事务,否则只有当中其中一条sql语句执行失败是,全部失败,回滚事务
1,首先在 DBhelper里面写个事务,方面外面掉
A, 事务开始: public void GetBeingTranction
{ If(con.State==ConnectionState.Close){ con.Open();}
Tranction tran=con.BeginTranction()//事务开始
com.Tranction=tran;//用命令对象对象执行事务 }
b, 事务提交: public void GetCommit()
{ com.Tranction.Commit() //提交事务
Con.close();//事务提交后,连接关闭
}
C,事务回滚: public void GetRollback ()
{ com.Tranction.Rollback();//出现问题,和特殊情况,事务回滚
Con.close();//连接同时也要被关闭
}
注意:最好是在BLL(业务逻辑里面写,传两实体,分别对实例处理相应才操作,调用DBherper里面事务开始,事务提交,事务回滚的方法,只有两个都正确执行的时候,才能事务提交,否则只有一方出问题,事务就回滚,数据库受影响的行为 0),一定要注意的事基于同一个连接(Con);
六:使用视图
使用视图其实很简单,其实你可以将试图看成是一个表,一个虚拟的表,可以对表进行相应的操作,
创建视图:
Use 数据库
If exists(select * from sysobjects where =’view_groups’)
Drop View view_groups
go
Create View view_groups
As
select 出发城市=StartCity,到底城市=DestiCity,发团时间=StartDate,发出时间=StartTime,价格=price,座位号=seatNo,车牌=BusNo ,订单Id=o.orderId,已定人数='',剩下座位='',总的座位数=Seats,总的座位数的Id=b.BusId,
from line left join groups on line.lineid=groups.lineId left join orders as o on o.groupId=groups.groupid left join bus as b on b.busId=groups.busId
go
2.视图查询:
select * from View_groups 有条件,也可以根据条件去查,很方便的,也可以对视图进行相应的操作,增,删,改,查都可以。
注意:使用视图查询数据库,返回数据集的时候一个要传两个参数 (strSql,strViewName),strSql为sql语句,strViewName为视图的名称:
六:使用存储过程实现分页效果
使用存储过程分页可以对大量数据的分页,加快程序运行的速度,很方便。
七 Ajax:
var xmlHttp
function CheckName()//检查用户名是否存在
{
createXMLHTTP();//创建createxmlHttp();
var url="disp.aspx?Name="+userName;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechang=checkUserName;
xmlHttp.send(null);
}
//执行检测用户名的回调函数
function checkUserName()
{
if(xmlHttp.readyState==4)//判断对象状态
{
if(xmlHttp.status==200)//信息成功
{
if(xmlHttp.responsetText=="true")
{
document.getElemenById("imgName").src="images/true.gif"
document.getElemenById("butId").distable=false;
}else
{
document.getElemenById("imgName").src="images/false.gif"
}
}
}
}
//创建xmlHttp对象
function createXMLHTTP()
{
if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest(Msxml2.XMLHTTP);
}
else if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Micrsoft.XMLHTTP");
}
if(!xmlHttp)
{
window.alert('xmlHttp对象不存在');
}
}
disp.aspx代码,执行用户的操作
{
这个页面,执行操作数据库
}
- asp.net编程值的注意的一点点东东
- Spring的PropertySourcesPlaceholderConfigurer的一点点小东东
- 从asp转asp.net的相关东东
- ASP.NET的必须知道的东东(HttpModule,HttpHandler)之一
- QML一点点注意的地方
- ASP.net 能写一个上传整个文件夹的东东
- 获取一些有用的东东, Using ASP.NET
- ASP.NET文件下载函数(好用的东东)
- ASP.NET页面的一点小东东(一)
- ASP.NET页面的一点小东东(二)
- Asp.net注意的细节
- 谈谈ASP.NET中母版与主题的一点点认识
- Asp.net mvc 使用echart的一点点经验
- 返回引用类型需要注意的东东
- 串口编程的好东东!!
- ASP.NET一点点心得
- 多线程编程的一点点心得
- asp.net 混淆注意的两点
- 胡思乱想
- 转载,PLM研究角度
- 网站的防盗链系统是如何做的?
- Cannot find bean org.apache.struts.taglib.html.BEAN in any scope
- google appengine的数据存储API
- asp.net编程值的注意的一点点东东
- hibernate查询过滤器的使用
- 当下10大最热门的网站开发技术
- apache1.3编译安装configure出错解决方法
- Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException异常处理
- PLM的新观点
- BW十日谈之CUBE
- Javascript创建对象
- WEBMIN在命令行下的安装