以前得到DataSet的時候都是利用直接寫sql語句(適合初學者)
public static DataSet GetDs(string sqlstr)
{
ds = new DataSet();
sqlconn = new SqlConnection();
sqlconn.ConnectionString = System.Configuration.ConfigurationManager.AppSettings["connstr"];
sqlconn.Open();
SqlDataAdapter da = new SqlDataAdapter(sqlstr, sqlconn);
da.Fill(ds);
ConnClose();
return ds;
}
使用存儲過程
SqlConnection sqlConn = new SqlConnection();
sqlConn.ConnectionString = System.Configuration.ConfigurationManager.AppSettings["connstr"];
sqlConn.Open();
SqlDataAdapter sqlDa = new SqlDataAdapter("GetAuthListByRole", sqlConn);
sqlDa.SelectCommand.CommandType = CommandType.StoredProcedure;
sqlDa.SelectCommand.Parameters.Add(new SqlParameter("@rolename", SqlDbType.VarChar, 50));
sqlDa.SelectCommand.Parameters[0].Value = roleName;
sqlDa.Fill(ds);
sqlConn.Close();
return ds;
DataTable獲取存儲過程的返回值
將定存儲過程為如下:
CREATE PROCEDURE SP_TEST1
AS
SELECT * FROM TABLE_TEST;
調用改存儲過程
SqlCommand cmd = new SqlCommand();
cmd.CommandText = “NameofStoreProcedure”;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = conn;
cmd.ExecuteNonQuery();
聯系SqlDataAdapter與DataTable
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(yourdatatable);
接着修改DataGridView空間在綁定前
DataGridView dgv = new DataGridView();
dgv.Columns.Add(“EnglishName”, “ChineseName”);
dgv.Columns[“EnglishName”].DataProductName = “IDinDB”;
dgv.DataSource = dt;