首页 asp.net调用数据库存储过程的基本方法

asp.net调用数据库存储过程的基本方法

举报
开通vip

asp.net调用数据库存储过程的基本方法asp.net调用数据库存储过程的基本方法 c#使用数据库存储过程的基本方法 2007-05-28 16:58 440人阅读 评论(0) 收藏 举报 在业务代码中,可以将sql语句写成数据库的存储,这样代码会非常简洁,输入也不容易出 错。更重要的是,存储过程可以写入多条的语句,对于需要得到数据库操作结果的模块非常 有用。比如下面,要插入一条记录到数据库的最后一行,并且返回结果(插入的行号),如果 用sql语句,要分成两次查询: ThisCommand.CommandText = "Insert into S...

asp.net调用数据库存储过程的基本方法
asp.net调用数据库存储过程的基本方法 c#使用数据库存储过程的基本方法 2007-05-28 16:58 440人阅读 评论(0) 收藏 举报 在业务代码中,可以将sql语句写成数据库的存储,这样代码会非常简洁,输入也不容易出 错。更重要的是,存储过程可以写入多条的语句,对于需要得到数据库操作结果的模块非常 有用。比如下面,要插入一条 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 到数据库的最后一行,并且返回结果(插入的行号),如果 用sql语句,要分成两次查询: ThisCommand.CommandText = "Insert into SmsOutSquence (Content, Terminal, State, UserId, SubmitTime) VALUES('" + smsContent + "','" + t + "','" + 0 + "','" + userId + "','" + nowTime + "')"; SqlDataReader ThisReader = ThisCommand.ExecuteReader(); ThisReader.Close(); ThisCommand.CommandText = "SELECT * FROM SmsOutSquence WHERE SmsId = (SELECT max(SmsID) FROM SmsOutSquence)"; ThisReader = ThisCommand.ExecuteReader(); 非常麻烦。这个时候我们可以用存储过程来处理。 先要针对这个目的建立一个存储过程: CREATE PROCEDURE CMPP30_SubmitNewSms @smsContent varchar(140), @t varchar(1100), @userId varchar(100), @nowTime datetime AS insert into SmsOutSquence (Content, Terminal, State, UserId, SubmitTime) VALUES(@smsContent,@t , 0 , @userId ,@nowTime) SELECT @@IDENTITY as "smsIdentity" GO 最后一行是通过系统变量IDENTITY得到新行的标识符。 然后在c,代码中,这样调用这个存储过程: SqlConnection ThisConnection = new SqlConnection(@"Server=(local);Integrated Security=True;" + "DataBase=SmsServerDatabase"); ThisConnection.Open(); SqlCommand ThisCommand = ThisConnection.CreateCommand(); ThisCommand.CommandText = "CMPP30_SubmitNewSms"; ThisCommand.CommandType = System.Data.CommandType.StoredProcedure; ThisCommand.Parameters.Add(new SqlParameter("@smsContent",System.Data.SqlDbType.VarChar)); ThisCommand.Parameters.Add(new SqlParameter("@t",System.Data.SqlDbType.VarChar)); ThisCommand.Parameters.Add(new SqlParameter("@userId",System.Data.SqlDbType.VarChar)); ThisCommand.Parameters.Add(new SqlParameter("@nowTime",System.Data.SqlDbType.DateTime)); ThisCommand.Parameters["@smsContent"].Value=smsContent; ThisCommand.Parameters["@t"].Value= t; ThisCommand.Parameters["@userId"].Value=userId; ThisCommand.Parameters["@nowTime"].Value=nowTime; SqlDataReader ThisReader = ThisCommand.ExecuteReader(); while (ThisReader.Read()) { index = Convert.ToInt64(ThisReader["SmsIdentity"].ToString().Trim()); } Console.WriteLine(index); ThisReader.Close(); ThisConnection.Close(); 要传递的参数要先定义,并传值给它。最后用executeReader可以返回操作的结果。因为存 储过程将结果表现为一个新列smsIdentity,所以可以用thisRead["smsIdentity"]得到返回 的结果。
本文档为【asp.net调用数据库存储过程的基本方法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_511210
暂无简介~
格式:doc
大小:15KB
软件:Word
页数:0
分类:互联网
上传时间:2017-11-26
浏览量:28