C#--使用存储过程

过程:

1、连接数据库

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

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

 1             //连接数据库
 2             string connstr = "Data Source=ZGC-20131104001;Initial Catalog=JvJin;Integrated Security=True";
 3             SqlConnection sqlconn = new SqlConnection(connstr);
 4             string cmdtext = "getstu2";//设置执行的文本为存储过程名
 5             SqlCommand sqlcom = new SqlCommand(cmdtext, sqlconn);
 6             sqlcom.CommandType =CommandType.StoredProcedure;//设置执行命令类型是存储过程,而不是SQL语句
 7             ///设置输入参数,输出参数,和返回值,输出参数和返回值的得到都需要由SqlCommand对象的参数来保存
 8             sqlcom.Parameters.Add("@id", SqlDbType.VarChar,10); //输入参数,有默认值的,不用再添加值
 9             sqlcom.Parameters.Add("@name", SqlDbType.VarChar, 50);//输入参数,没有默认值,后面要添加输入值
10             sqlcom.Parameters.Add("@class", SqlDbType.VarChar, 50);//output类型的参数,输出参数,用来接收输出的数据
11             sqlcom.Parameters.Add("ret", SqlDbType.SmallInt);//这个参数来接收返回值 
12 
13             sqlcom.Parameters["@name"].Value = "";
14             sqlcom.Parameters["@class"].Direction = ParameterDirection.Output;//为输出参数的设置
15             sqlcom.Parameters["ret"].Direction = ParameterDirection.ReturnValue;//为返回值的设置
16             sqlconn.Open();
17             SqlDataReader datareader= sqlcom.ExecuteReader();
18             datareader.Read();//取一行数据
19             dataGridView1.Rows.Add(new string[] { datareader.GetString(0), datareader.GetString(1), datareader.GetString(2) });
20             sqlconn.Close();
21             //只在关闭连接后才能进行得到数据
22             textBox1.Text = sqlcom.Parameters["@class"].Value.ToString();
23             textBox1.Text += "
" + sqlcom.Parameters["ret"].Value.ToString();
24             /*
25              注意要点:1,设置参数类型(输出参数,返回值),如果是输入参数不需要设置类型
26              * 2,在关闭连接后,才能接收返回值和输出参数,
27              * 3,输入参数是设置值
28              */
原文地址:https://www.cnblogs.com/ddx-deng/p/3755841.html