.Net中使用存储过程

1.Web.config中配置数据库

 <appSettings>
  <add key="ConnectionString" value="Data Source=./SQLEXPRESS;AttachDbFilename=F:/2_26/Database.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"/>
 </appSettings>
 <connectionStrings/>

 

2.ASP.NET使用存储过程插入数据

string strconn= ConfigurationSettings.AppSettings["dsn"];
//连接本地计算机的TMS数据库
SqlConnection cn= new SqlConnection (strconn);
cn.Open ();
//利用Command对象调用存储过程
SqlCommand cm=new SqlCommand ("contractadd",cn);
//将命令类型转为存储类型
cm.CommandType =CommandType.StoredProcedure ;
//往存储过程中添加参数
cm.Parameters .Add ("@TID",SqlDbType.VarChar);
cm.Parameters .Add ("@TCID",SqlDbType.VarChar);
cm.Parameters .Add ("@TPID",SqlDbType.VarChar);
cm.Parameters .Add ("@TBeginDate",SqlDbType.VarChar);
cm.Parameters .Add ("@TEndDate",SqlDbType.VarChar);
cm.Parameters .Add ("@TTotalMoney",SqlDbType.Money );
cm.Parameters .Add ("@TContent",SqlDbType.VarChar);
//给存储过程的参数付值
cm.Parameters ["@TID"].Value =tbx_tid.Text .ToString ();
cm.Parameters ["@TCID"].Value =ddl_tcid.SelectedItem .Value ;
cm.Parameters ["@TPID"].Value =ddl_tpid.SelectedItem .Value ;
cm.Parameters ["@TBeginDate"].Value =tbx_tbegindate.Text .ToString ();
cm.Parameters ["@TEndDate"].Value =tbx_tenddate.Text .ToString ();
cm.Parameters ["@TTotalMoney"].Value =tbx_ttotalmoney.Text .ToString ();
cm.Parameters ["@TContent"].Value =tbx_tcontent.Text .ToString ();
cm.ExecuteNonQuery ();
//关闭连接
cn.Close();

 

3.采用SqlDataAdapter对象

private void buycatalog()
         {
             SqlConnection conndb= new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
             conndb.Open();
             SqlDataAdapter   strselect = new SqlDataAdapter("productclass",conndb);

             strselect.SelectCommand.CommandType = CommandType.StoredProcedure;

             DataSet ds = new DataSet();

             strselect.Fill(ds);

             DlstBuycatalog.DataSource =ds;

             DlstBuycatalog.DataKeyField ="PdtCat_ID";

             DlstBuycatalog.DataBind();

             conndb.Close();
         }
以上这个方法,就是通过SqlDataAdapter对像调用了SQL中存储过程productclass,通过DataSet将数据填充在ds中,同时指定DataList控件DlstBuycatalog的数据源是ds,主键是PdtCat_Id,最后再重新绑定Datalist控件.由这个方法我们可以看到用SqlDataAdapter调用存储过程中的关键是:
SqlDataAdapter   strselect = new SqlDataAdapter("productclass",conndb);
strselect.SelectCommand.CommandType = CommandType.StoredProcedure;
当存储过程中有参数时,我们又应该乍样做呢?其实这个跟SqlCommand的差不多,我们只要再加一句
Strselect.SelectCommand.Parameter.Add(
“@pdt_name”,txtpdtname.Text());
就可以了,其中@pdt_name是在存储过程中声明的参数变量名,而txtpdtname.text()是在.net中赋于变量@pdt_name的值了。认真看一下下面这个存储过程就很清楚了:
由上面我们可以知道在调用存储过程中,最关键的对象是Command对象,这个对象可以通过ExecuteReader()方法执行数据查询,还可以返回一个单一值的查询,还可以通过ExecuteScalar()方法进行相关的数据统计,还可以通过ExecuteNonQuery()方法进行数据更新,增删改的执行操作,而在执行这些SQL操作时,往往是与相关的控件DataGrid ,DataList,Repeat控件结合使用的.
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值