我正在从MSVS中的DataTableAdapters过渡到在MS SQL Server中创建存储过程。
这就是我到目前为止所拥有的。
protected void Submit_Click(object sender, EventArgs e)
{
var conString = ConfigurationManager.AppSettings["ConnectionString"].ToString();
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand cmd = new SqlCommand("getAdministrators", con))
{
cmd.Parameters.Add("@userName", SqlDbType.VarChar).Value = userNameTB.Text;
cmd.Parameters.Add("@password", SqlDbType.VarChar).Value = passwordTB.Text;
cmd.CommandType = CommandType.StoredProcedure;
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
DataSet ds = new DataSet();
da.Fill(ds);
}
}
}
}我想获取所有行/列,并将它们存储在DataSet中,然后根据自己的意愿使用返回的值。要做到这一点,我错过了什么。或者如果有人有一篇文章也可以帮助你呢?
我更新了代码以使用using。
我认为代码正在慢慢地到达那里...
发布于 2010-11-18 12:37:23
下面的代码片段可以工作:
public static DataSet GetAll(int id)
{
using (SqlConnection con = new SqlConnection(Database.ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("sp_ContactGetAll", con))
{
cmd.CommandType = CommandType.StoredProcedure;
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
DataSet dsData = new DataSet();
da.Fill(dsData);
return dsData;
}
}
}
}发布于 2010-11-18 11:09:49
我可能错了,但我希望下面的方法能起作用:
using(var reader = cmd.ExecuteReader()) {
ds.Tables[0].Load(reader);
}(假设您想填充第0个表)
发布于 2010-11-18 11:33:13
http://msdn.microsoft.com/en-us/library/9kcbe65k.aspx
我猜你错过了cmd.ExecuteReader
https://stackoverflow.com/questions/4211308
复制相似问题