在ASP.NET中初学使用存储过程(1)
来源:互联网 发布:中国网络日报官方网站 编辑:程序博客网 时间:2024/04/30 21:09
存储过程在数据库开发中非常有用,而在开发ASP.NET网页时,也经常需要使用到存储过程。今天自己初学使用存储过程,有一点自己的心得。
设计一个最简单的查询存储过程,设数据库中有表Customer,表中有字段CustomerEmail和CustomerName,输入一个CustomerEmail,查找并打印CustomerEmail和Customer。
1)查询分析器中建立存储过程
create procedure GetProcedure
(@CustomerEmail varchar(50))
as
select * from Customer where CustomerEmail=@CustomerEmail
2) private void btnCommit_Click(object sender, System.EventArgs e)
{
string CustomerEmail=this.txtCustomerID.Text;
Customer c=new Customer();
SqlConnection con=DB.createCon();
SqlCommand cmd=new SqlCommand();
SqlParameter para=new SqlParameter("@CustomerEmail",SqlDbType.VarChar,50);
para.Value=CustomerEmail;
SqlDataReader sdr;
cmd.Connection=con;
cmd.CommandType=CommandType.StoredProcedure;
cmd.CommandText="GetProcedure";
cmd.Parameters.Add(para);
con.Open();
// sdr=cmd.ExecuteScalar();
sdr=cmd.ExecuteReader();
sdr.Read();
con.Close();
c.CustomerEmail=sdr.GetString(0);
c.CustomerName=sdr.GetString(1);
Response.Write(c.CustomerEmail);
Response.Write("<br>");
Response.Write(c.CustomerName);
}
注意几点:
1)引入命名空间 using System.Data,否则 SqlDbType.VarChar无用。
2)执行完cmd.ExecuteReader()后还需要执行sdr.Read(),否则会提示在"c.CustomerEmail=sdr.GetString(0);"
部分有错误Invalid attempt to read when no data is present。用Read方法会定位到第一个结果集的第一条记录。
3)不能使用sdr=cmd.ExecuteScalar();ExecuteScalar方法主要返回结果集中的首行首列,由于它只能返回一个值,通常可以利用它来获取聚合值,例如:Int32 rows=(Int32)cmd.ExecuteScalar();
设计一个最简单的查询存储过程,设数据库中有表Customer,表中有字段CustomerEmail和CustomerName,输入一个CustomerEmail,查找并打印CustomerEmail和Customer。
1)查询分析器中建立存储过程
create procedure GetProcedure
(@CustomerEmail varchar(50))
as
select * from Customer where CustomerEmail=@CustomerEmail
2) private void btnCommit_Click(object sender, System.EventArgs e)
{
string CustomerEmail=this.txtCustomerID.Text;
Customer c=new Customer();
SqlConnection con=DB.createCon();
SqlCommand cmd=new SqlCommand();
SqlParameter para=new SqlParameter("@CustomerEmail",SqlDbType.VarChar,50);
para.Value=CustomerEmail;
SqlDataReader sdr;
cmd.Connection=con;
cmd.CommandType=CommandType.StoredProcedure;
cmd.CommandText="GetProcedure";
cmd.Parameters.Add(para);
con.Open();
// sdr=cmd.ExecuteScalar();
sdr=cmd.ExecuteReader();
sdr.Read();
con.Close();
c.CustomerEmail=sdr.GetString(0);
c.CustomerName=sdr.GetString(1);
Response.Write(c.CustomerEmail);
Response.Write("<br>");
Response.Write(c.CustomerName);
}
注意几点:
1)引入命名空间 using System.Data,否则 SqlDbType.VarChar无用。
2)执行完cmd.ExecuteReader()后还需要执行sdr.Read(),否则会提示在"c.CustomerEmail=sdr.GetString(0);"
部分有错误Invalid attempt to read when no data is present。用Read方法会定位到第一个结果集的第一条记录。
3)不能使用sdr=cmd.ExecuteScalar();ExecuteScalar方法主要返回结果集中的首行首列,由于它只能返回一个值,通常可以利用它来获取聚合值,例如:Int32 rows=(Int32)cmd.ExecuteScalar();
- 在ASP.NET中初学使用存储过程(1)
- 在ASP.NET中初学使用存储过程(2)
- 在ASP.NET中使用存储过程
- 在asp.net中使用存储过程
- 在ASP.net中使用三层架构使用存储过程
- 在ASP.NET中调用存储过程
- 存储过程在asp.net中的使用
- 在asp.net中使用sql server存储过程 (包括SqlDataAdapter调用存储过程)
- asp.net 2.0中使用存储过程
- asp.net 2.0中使用存储过程
- Asp.net中存储过程的使用
- 学会在ASP中使用存储过程
- 学会在ASP中使用存储过程
- 在ASP中使用存储过程
- 在ASP中使用存储过程
- 在ASP中使用存储过程
- 学会在ASP中使用存储过程
- 在Asp中使用存储过程
- 明天醒来我会在哪一只鞋子里?
- 在b/s开发中经常用到的javaScript技术
- 我恨翻译
- 这几天!
- 边境牧羊犬介绍
- 在ASP.NET中初学使用存储过程(1)
- UBB(c#完整版)
- UBB(c#完整版)
- UBB(vb.net完整版)
- 毕业四年同学聚会,性格决定命运----作者:伤心小叶
- JavaScript使用手册
- 狗狗常用营养品&药品大收集
- 犬的疫苗
- 爱犬药品大全