要在C#中使用存儲過程,首先看看test表的創建sql語句:
create table test55
(
uid int identity(1,1),
class1 varchar(20),
class2 varchar(20),
uname varchar(20),
birth smalldatetime,
meno varchar(50)
)
alter table test55
add constraint primary_id primary key(uid)
創建一個有輸入、輸出、返回值參數的存儲過程:
create proc proc_out @uid int,@output varchar(200) output
as
--select結果集
select * from test where uid>@uid
--對輸出參數進行賦值
set @output=記錄總數:+convert(varchar(10),(select count(*) from test))
--使用return,給存儲過程一個返回值。
return 200;
go
在C#中使用存儲過程:
使用帶有參數的sql語句
private void sql_param()
{
SqlConnection conn=new SqlConnection("server=.;uid=sa;pwd=1234;database=china");
//在sql語句當中引入了@myid參數
string sql="select * from test where uid>@myid";
SqlCommand comm=new SqlCommand(sql,conn);
//使用comm的Parameters屬性的add方法,對上述的@myid參數進行定義和賦值
//SqlDbType類提供了與SqlServer數據類型一致的數據庫類型
SqlParameter sp=comm.Parameters.Add("@myid",SqlDbType.Int);
sp.Value=10;//對輸入參數賦值
//Command對象默認的執行方式為Text,不寫下句亦可
comm.CommandType=CommandType.Text;
//將Command對象作為DataAdapter的參數傳進
SqlDataAdapter da=new SqlDataAdapter(comm);
DataSet ds=new DataSet();
da.Fill(ds);
//綁定數據到DataGrid1控件上
this.DataGrid1.DataSource=ds;
this.DataGrid1.DataBind();
}
存儲過程的使用標准版
private void sql_proc()
{
SqlConnection