表:Create table userName

   int id identity(1,1) primary key,
   userName varchar(30),not null 
   passWord varchar(30),not null
)存储过程:
Create procedure AddUserName
@userName varchar(30),
@passWord varchar(30) 
as
begin
   insert into(userName,passWord) values(@passWord ,@passWord )
endCreate procedure UpdateUser
@id,
@userName varchar(30),
@passWord varchar(30)
as
begin
    update userName set userName=@userName,passWord=@passWord where id=@id
endCreate procedure GetUserName
@id int
as
begin
   select * from userName where id=@id
endCreate procedure DeleteUserName
@id int
as
begin
   delete from userName where id=@id
end
问题:
   用存储过程去操作DataGrid 的添删改选,最好给我一个例子,也可以给出解决思路.
谢谢,高手指点.

解决方案 »

  1.   

    参考
    http://singlepine.cnblogs.com/articles/266538.html
    http://singlepine.cnblogs.com/articles/281425.html其他类似改法
    private void Button1_Click(object sender, System.EventArgs e)
    {
                SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
                SqlCommand comm=new SqlCommand("AddUserName",conn);
                comm.CommandType=CommandType.StoredProcedure;            SqlParameter parm1=new SqlParameter("@UserName",SqlDbType.NVarChar,50);
                parm1.Value=this.TextBox1.Text;            SqlParameter parm2=new SqlParameter("@passWord ",SqlDbType.NVarChar,50);
                parm2.Value=this.DropDownList1.SelectedValue;                        comm.Parameters.Add(parm1);
                comm.Parameters.Add(parm2);
                conn.Open();
                comm.ExecuteNonQuery();
                conn.Close();
                DataBind();
    }
      

  2.   

    以上的方法很好,我想问一下,如何去绑定到DataGrid,
      

  3.   

    上面的绑定方法 DataBind();如下,其中的sql语句也可以改成存储过程
    private void DataBind()
    {
                string sql="select * from testgrid";
                DataSet ds=GetDataSet(sql);
                this.DataGrid1.DataSource=ds;
                this.DataGrid1.DataBind();
    }
      

  4.   

    可以把小山上面的写成一个方法,返回一个DATASET
    public DataSet GetDataSet()
    {
      SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
                SqlCommand comm=new SqlCommand("AddUserName",conn);
                comm.CommandType=CommandType.StoredProcedure;            SqlParameter parm1=new SqlParameter("@UserName",SqlDbType.NVarChar,50);
                parm1.Value=this.TextBox1.Text;            SqlParameter parm2=new SqlParameter("@passWord ",SqlDbType.NVarChar,50);
                parm2.Value=this.DropDownList1.SelectedValue;                        comm.Parameters.Add(parm1);
                comm.Parameters.Add(parm2);
    SqlDataAdapter cmdAdp=new SqlDataAdapter();
               cmdAdp.SelectCommand=cmd;
    DataSet ds=new DataSet();
    con.Open();
    cmdAdp.Fill(ds);
    con.Close();
    return ds;}然后只要 DataGrid.DataSource=GetDataSet();
    DataGrid.DataBind();
      

  5.   

    string strconn= ConfigurationSettings.AppSettings["data"];
    //连接本地计算机的MMS数据库
    SqlConnection cn= new SqlConnection (strconn);
    cn.Open ();
    SqlCommand cm=new SqlCommand  ("login",cn);
    cm.CommandType=CommandType.StoredProcedure; cm.Parameters.Add("@sql1",SqlDbType.NVarChar,50);
                cm.Parameters["@sql1"].Value = tbx_uid.Text;
    cm.Parameters.Add("@sql2",SqlDbType.NVarChar,50);
                cm.Parameters["@sql2"].Value = tbx_upassword.Text;
    SqlDataReader dr=cm.ExecuteReader ()存储过程:
    CREATE proc login
    (
    @sql1 nvarchar(50),
    @sql2  nvarchar(50)
    )
    AS
    select * from lw_users where username=@sql1 and password=@sql2;
    RETURNGO