这是直接在客户端执行的,不太好
string sql = "select * from login.AddNewGoods";
SqlDataAdapter da = new SqlDataAdapter(sql,objConn);
DataSet ds = new DataSet();
da.Fill(ds);
DataGridView.DataSource = ds;
DataGridView.DataBind();
objConn.Close();
我想写了一个存储过程,在服务器执行,但是怎样把执行了存储过程后所得的记录填充到数据集呢

解决方案 »

  1.   

    在执行完SQL操作后重新邦定DataGride,就会显示你新执行的结果
      

  2.   

    你可以将邦定DG的控件的语句单独写入一个函数,例如BindDG()
    每次你执行完SQL后,调用这个函数就可以了。
      

  3.   

    不好意思,以前没有理解你的意思。
    存储过程的写法你应该会,你是想返回记录然后帮定到Dataset中。dim con as sqlConnection
    dim cmd as sqlCommand
    dim  dtr as sqlDataReader
    dim dst as Dataset
    con=new sqlConnection("Server=servername;uid=userid;pwd=;database=databasename")
    cmd=new sqlCommand("存储过程的名字",con)
    cmd.commandType=commandType.StoredProcedure
    con.open
    dtr=cmd.ExecuteReader()
    while dtr.read()
    dst.tables("表名").addRow=dtr
    end while
    dtr.close
    con.close
      

  4.   

    假設你的存儲過程名稱為:sp_Sqlstr
    SqlDataAdapter ad = new SqlDataAdapter();
    你的存儲過程是關於查詢的,所以得加上一句下面這句
    ad.SelectCommand = new SqlCommand("sp_Sqlstr",con);
    //這句就是你想要的:告訴它你用的是存儲過程:
    ad.SelectCommand.CommandType = CommandType.StoredProcedure;
    //存儲過程中你用的參數:
    ad.SelectCommand.Parameters.Add("@productFrom",SqlType.varchar,50);DataSet ds = new DataSet();
    ad.Fill(ds,"aa");
    return ds;