过程:
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 */