先看看我的SQL2005存储过程:

create procedure sp_test
AS
SELECT * FROM Renter

 //截图如下


------------------------------------------------------------------------------------------------------------------------------------------------

在C#中我们如何通过代码来执行以上存储过程来获取表Renter中的数据呢?

我们又如何将获取到的数据显示在窗体上面呢?

很简单,代码如下:

      //窗体加载时
        private void FrmMain_Load(object sender, EventArgs e)
        {
            //SqlHelper.GetConnectionSQLDb(MyXml.GetConnString())的作用是获取一个SqlConnection对象
            SqlCommand cmd= new SqlCommand("sp_test",SqlHelper.GetConnectionSQLDb(MyXml.GetConnString()));
            cmd.CommandType = CommandType.StoredProcedure;//SQL命令类型为存储过程
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);//数据适配器

            //将获取到的数据显示在DataGridView上面
            DataSet ds = new DataSet();//数据集
            adapter.Fill(ds,"Renter"); //获取记录集
            dgvRenter.DataSource = ds.Tables[0].DefaultView;

        }
----------------------------------------------------------------------------------------------------------------------------------------------------------------------

//效果截图如下:


----------------------------------------------------------------------------------------------------------------------------------------------------------------------

对于以上代码,你可能看不懂这一行代码:

//SqlHelper.GetConnectionSQLDb(MyXml.GetConnString())的作用是获取一个SqlConnection对象
SqlCommand cmd= new SqlCommand("sp_test",SqlHelper.GetConnectionSQLDb(MyXml.GetConnString()));

注:

 1.sp_test是存储过程名称

 2.SqlHelper.GetConnectionSQLDb(MyXml.GetConnString())的作用是获取一个SqlConnection对象

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

方法GetConnectionSQLDb()的实现代码如下:

// <summary>
        /// 获取一个SQL数据库连接对象
        /// </summary>
        /// <param name="connStr">数据连接字符串</param>
        /// <returns>返回一个数据库连接对象</returns>
        public static SqlConnection GetConnectionSQLDb(string connStr)
        {
                try
                {
                    if(sqlConn==null)
                        sqlConn=new SqlConnection();
                    sqlConn.ConnectionString = connStr;
                    sqlConn.Open();
                    return sqlConn;
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show(ex.ToString() + ex.Message);
                    return null;
                }
        }

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

您的十分满意是我追求的宗旨。

您的一点建议是我后续的动力。









本文转载:CSDN博客