您的位置:首页 > 编程语言 > C#

C#--使用存储过程

2013-12-06 18:48 281 查看
过程:

1、连接数据库

2、设置执行类型为存储过程,区别于SQL语句

3、得到执行结果,返回值、输出参数等

//连接数据库
string connstr = "Data Source=ZGC-20131104001;Initial Catalog=JvJin;Integrated Security=True";
SqlConnection sqlconn = new SqlConnection(connstr);
string cmdtext = "getstu2";//设置执行的文本为存储过程名
SqlCommand sqlcom = new SqlCommand(cmdtext, sqlconn);
sqlcom.CommandType =CommandType.StoredProcedure;//设置执行命令类型是存储过程,而不是SQL语句
///设置输入参数,输出参数,和返回值,输出参数和返回值的得到都需要由SqlCommand对象的参数来保存
sqlcom.Parameters.Add("@id", SqlDbType.VarChar,10); //输入参数,有默认值的,不用再添加值
sqlcom.Parameters.Add("@name", SqlDbType.VarChar, 50);//输入参数,没有默认值,后面要添加输入值
sqlcom.Parameters.Add("@class", SqlDbType.VarChar, 50);//output类型的参数,输出参数,用来接收输出的数据
sqlcom.Parameters.Add("ret", SqlDbType.SmallInt);//这个参数来接收返回值

sqlcom.Parameters["@name"].Value = "";
sqlcom.Parameters["@class"].Direction = ParameterDirection.Output;//为输出参数的设置
sqlcom.Parameters["ret"].Direction = ParameterDirection.ReturnValue;//为返回值的设置
sqlconn.Open();
SqlDataReader datareader= sqlcom.ExecuteReader();
datareader.Read();//取一行数据
dataGridView1.Rows.Add(new string[] { datareader.GetString(0), datareader.GetString(1), datareader.GetString(2) });
sqlconn.Close();
//只在关闭连接后才能进行得到数据
textBox1.Text = sqlcom.Parameters["@class"].Value.ToString();
textBox1.Text += "\r\n" + sqlcom.Parameters["ret"].Value.ToString();
/*
注意要点:1,设置参数类型(输出参数,返回值),如果是输入参数不需要设置类型
* 2,在关闭连接后,才能接收返回值和输出参数,
* 3,输入参数是设置值
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: