关于ASP.NET后台代码访问数据库(C#)SQLTransation的问题
select 密码 from Customer where 用户名=@用户名
SQL语句逻辑有问题
SqlConnection con = new SqlConnection();
con.ConnectionString = "server=.;database=数据库名称;uid=sjk;pwd=123456";
con.Open();
SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandType = CommandType.Text;
com.CommandText = "SQL的语句";
SqlDataReader dr = com.ExecuteReader();
dr.Close();
con.Close();
事务提交:COMMIT TRAN
事务回滚:ROLLBACK TRAN
主要是针对多个数据表同时进行操作的时候确保所有操作全部执行成功才能对数据库进行更改。
下面是我写的一个带事物的存储过程(注:里面的SQL语句可以自行修改)
--删除带事务存储过程
判断存储过程sp_DeleteGroup 是否存在,存在就删除然后重新创建.
IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'sp_DeleteGroup')
BEGIN
PRINT 'Dropping Procedure sp_DeleteGroup...'
DROP Procedure sp_DeleteGroup
END
GO
PRINT 'Creating Procedure sp_DeleteGroup...'
GO
这里开始创建sp_DeleteGroup事物.
CREATE Procedure sp_DeleteGroup
(
@GroupID GUIDEx /*能力唯一标识ID*/
)
AS
BEGIN //这里开始事物
BEGIN TRAN //开始执行SQL语句 。 注: 下面的两个简单SQL语句可以按照需求自行修改.
delete From tblElpEmployeesGroup WHERE GroupID = @GroupID
delete From tblElpGroups WHERE GroupID = @GroupID
IF(@@ERROR > 0) //这里的判断条件是只要上面的SQL语句有一个报错,那么就会回滚. 数据库的数据不会改变
ROLLBACK TRAN //回滚操作
ELSE
COMMIT TRAN //执行修改上面SQL语句对于数据库的操作.
END
在数据逻辑层里面的事物处理代码逻辑这上面的一样. 我觉得这样会更加容易理解. 这个是可以单独运行的.
希望对你有所帮助.
事务是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时事务是做为最小的控制单元来使用的。他包含的所有数据库操作命令作为一个整体一起向系提交或撤消,这一组数据库操作命令要么都执行,要么都不执行。
参考资料:
http://dxz506.blog.163.com/blog/static/103254696201074111940227/
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqltransaction(VS.80).aspx
一般网站用到事务的地方不多 ,比如我练习做银行系统的时候用到过(转账入账 在转账时 突然断电了 此时已经插入数据一半的数据,这时没有入账就对不上数据 如果用到事务的时候 在没有执行完入账的时候 就会进行回滚)
这个是事务,主要是处理数据逻辑,保证数据的准确性,特别是在银行系统中用的比较多,主要有事务开始,事务提交(数据准确的时候执行),事务回滚(出现错误的时候执行,做删除,更新出现错误时又返回到原先的数据)。
这是问题真的不值100分
SQLTRANSATION是事务,比如说,一个银行,要转帐,但是又但心转帐过程中停电了,一半帐转出去了,另一半结果没收到,就会用到事务,说明白点就是说事务中可执行多条sql命令,特点是有一条命令没执行成功就全部不执行,不会执行一半停一半,事务很少用
很少看到会用到事务这个东西,学asp.net 一定会用到重中之重就是数据库,ado.net操作一定要熟,你找例子不好,不应该涉及到事务,不要去理那个东西,学习一门新语言,最重要的可能不是理解这个东西,反到是先去死记下这段代码,死方法可能才是最重要的,千万别跳着来,基础是编程最重要的东西
下面代码有可能有点问题,我也不是常用事务
SqlConnection conn = new SqlConnection("连接字符串");//用于连接到数据库
SqlCommand cmd = new SqlCommand("sql1,sql2", conn);//命令和数据库关连;
conn.Open();//打开
SqlTransaction tran = conn.BeginTransaction();
cmd.ExecuteNonQuery();
cmd.ExecuteReader();
tran.Dispose();
try
{
tran.Commit();
}
catch
{
tran.Rollback();
}
finally
{
try
{
tran.Commit();
}
catch
{
tran.Rollback();
}
finally
{
conn.Close();
tran.Dispose();
对那些sql不熟悉程序员用的。因为业务需要事务效果,但是sql不熟悉,所以在上层事务!
Asp.net mvc和asp.net有什么区别?
MVC与ASP.NET完全没有关系,是一个全新的Web开发,事实上ASP.NET是创建WEB应用的框架而MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系,所以可以称之为ASP.NET MVC。可将原来的ASP.NET称为 ASP.NET Webforms,新的MVC 称为ASP.NET MVC。MVC是软件架构的一种模式,可以说就相当于常说...
ASP.NET构架?B\/S?三层构架?这几个有什么关系吗?
asp.net是微软的网站开发框架,是早期asp动态网站得到.net加持后的产品。b\/s叫浏览器服务器模式,相对于客户端服务器模式c\/s,就是程序通过浏览器实现,不需要安装客户端。三层架构指mvc,相对于asp.net的webform,三层架构是一种程序设计模式,应该说是一种最佳实践模式,把页面显示、数据获取,逻辑处理...
如何运行asp.net网站怎么运行asp网页
2.安装asp.net2.0后,请关闭iis窗口并重新打开iis,asp.net选项将在iis站点属性中可用。3.所以如果现在IIS中没有Asp.net配置选项,就需要在IIS中重新注册ASP.NET。该方法如下:(1)打开命令窗口。开始-运行-命令。(2)浏览到想要使用的Aspnet_regiis.exe版本的目录(请记住每个版本的。NETFramework有...
JavaEE和ASP.NET相比哪个更有前途?为什么?好在哪里?
微软.NET框架类库也不示弱,提供了从图画、网络、线程到ADO.NET、ADSI、Windows表单和ASP.NET等一系列的API。除去API类库的无缝的功能复用外,对本地平台的调用操作也是值得关注的。CLR和Java虚拟机都支持本地方法的调用。在异构平台方面,J2EE更钟情于IIOP(InternetInterORB Protocol),而.NET则使用SOAP。(2)相同的...
ASP和ASP。NET有什么不同??
由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。此外,它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。之后,微软又推出ASP.NET。这不是ASP的简单升级,而是全新一...
asp.net 日期转换后插入sql数据库
如果你的age是表示日期而不是表示年龄的话,可参考以下代码:protected void Page_Load(object sender, EventArgs e){ if (!IsPostBack) \/\/令括号内代码只在第一次浏览这个页面的时候执行 by marco { for (int i = 1900; i < 2008; i++)D1.Items.Add(i.ToString());for (int i = 1; ...
我的ASP.NET程序登录管理后台又自动退出后台,怎么回事啊?
我也碰到过这样的问题,有以下三点可以解决 一、原因是IIS应用池设置不当,因有的程序很吃内存,所以对于这样子的情况,IIS应用池的优化一定要注意,不能设置内存回收.OK.二、开启ASP.NET State Service服务:选择管理工具->服务,找到ASP.NET State Service,点开后选择启动,并将启动类型设为自动。三、...
PHP、JAVA和ASP.NET之间的区别?具体点的 谢谢!
2、JAVA:是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。3、ASP.NET:是微软公司推出的新一代脚本语言。二、特点不同 1、PHP:PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用...
asp.net使用alert弹出消息框后,页面变空白,内容消失的问题怎么解决_百 ...
我没有猜错的话你用的是response.write("alert();");或者用的是RegisterClientScriptBlock来弹窗的。你细心点的话查看一下源代码,会发现这两种方式弹窗的js代码,会被注册到这里。这样系统是先来执行弹窗,你点了弹窗的确定按钮后,才会解析后面的具体页面代码的。 解决方式其实也没啥特别的,response....
asp.net 里的用户注册后 如何实现 用户的注销 和注销后的用户修复 谢谢...
实现那个效果可以使用VS工具提供的 <asp:MultiView ID="MultiView1" runat="server" \/> 服务器控件来实现。它具体的使用情况请看下面:这是它的属性情况:<asp:MultiView ActiveViewIndex="integer"EnableTheming="True|False"EnableViewState="True|False"ID="string"OnActiveViewChanged="ActiveView...
晁卖曼宁: 可以把这些值赋值在隐藏域中,后台去获取隐藏域的值<asp:HiddenField ID="HiddenField1" runat="server" />
临朐县13535006716: 请问asp.net在后台代码中怎么获取其他页面或地址栏传过来的值 - ?
晁卖曼宁: 使用QueryString变量 QueryString是一种非常简单也是使用比较多的一种传值方式,但是它将传递的值显示在浏览器的地址栏中,如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法. Response.Redirect( "target.aspx?param1=hello") 接收页面:string str = Request.QueryString["param1"];希望对你有帮助!
临朐县13535006716: asp.net 如何读取数据 - ?
晁卖曼宁: 用 这种方式的话,外面必须得有一个控件(gridview,datalist,repeater等).如果你不想在外面加控件,那就把每一列都有用一个label,然后后台:this.label1.text=ds.table[0].rows[0]["id"].tostring(); 如果你连label也不想加.那可以在后台把...
临朐县13535006716: ASP网页的后台如何进行服务和接收数据 - ?
晁卖曼宁: 其实都是通过数据库来实现,,前台是读取数据,,后台是先读取,再进行修改,添加,删除等操作. 留言板,只是其中一种应用. 懂SQL了就简单了.
临朐县13535006716: asp技术访问数据库的过程?
晁卖曼宁: 1,安装IIS 2,创建一个数据库(初学就access吧) 3,在asp页面里加入连接字符串 通用的比如: <% dim conn,rs '连接数据库开始 set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq=E:/sjk/guest.mdb" set rs=server.createobject("adodb.recordset") %> 访问数据库过程就完成了 dbq=E:/sjk/guest.mdb 这个路径就是你保存数据库的路径.
临朐县13535006716: ASP.Net后台怎么在主页面里获取iframe里面控件的值?因为插入联系人的按钮在主页面里,而T - ?
晁卖曼宁: 获取不到的.建议方法是在iframe页面中,成功以后,调用父层的JS,把你的数据重新加载一次,或者把当前添加或修改的数据更新到界面中去.
临朐县13535006716: asp.net读取数据的步骤 - ?
晁卖曼宁: 首先在.aspx页面放一个数据控件(gridview),然后进行控件编辑,绑定你从数据库里边查询出来的字段到gridview的每一列.其次去后台写数据库操作代码返回一个datatable,创建连接,打开连接,执行SQl语句,关闭连接.将查询出得结果放入DataTable,然后写 gridview.DataSource=DataTable; gridview.DataBind(); 至於返回DataTable的SQL语句,网上有的是,你去百度里边自己搜一下,很简单的,相信自己的能力,很容易搞定的,加油吧.
临朐县13535006716: asp 从数据库读取后台代码 - ?
晁卖曼宁: 请建立一个页面 可以选磁碟机,路径及档案清单, 要有两组, 作一个比对两方资料夹档案的差异1.根据档案名称列出差异File Listw
临朐县13535006716: asp.net 数据库控件如何后台获取字段值? - ?
晁卖曼宁: ' CommandName="ed" ImageUrl="../images/user.gif" /> ' CommandName="del" ImageUrl="../images/delete.gif" /> --------------------------------------------------------------------- protected void gvP...' CommandName="ed" ImageUrl="../...
临朐县13535006716: Asp.net 前台JS 如何获取后台数据(数据类型DataTable) - ?
晁卖曼宁: 能给点分就好了.用AJAX,如果返回的是DataTable,建议用AJAXPRO,非常方便!