我的存储过程proc_search
仅返回执行时的名称,并且我一直在ASP.NET中使用以下代码来显示值...
SqlCommand cmd = new SqlCommand("proc_search", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@branch", SqlDbType.VarChar).Value = branchidtext.Text;
cmd.Parameters.Add("@Acct", SqlDbType.VarChar).Value = accountidtext.Text;
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
nametext.Text = reader[0].ToString();
}
如果我有一个返回多个列和多行的过程,如Name,Address,Age ......如何在文本框中显示它?请帮忙。
答案 0 :(得分:0)
如果您知道确切的数据顺序,可以说
while (reader.Read())
{
nametext.Text = reader[0].ToString();
agetext.Text = reader[1].ToString();
addresstext.Text = reader[2].ToString();
}
等......如果你不知道订单而不是说
while (reader.Read())
{
nametext.Text = reader["Name"].ToString();
agetext.Text = reader["Age"].ToString();
addresstext.Text = reader["Address"].ToString();
}
答案 1 :(得分:0)
使用这种方法。这将返回具有多行和列的数据集
public DataSet GetDataSet()
{
SqlConnection conn = new SqlConnection(con);
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "proc_search";
cmd.CommandType = CommandType.StoredProcedure;
da.SelectCommand = cmd;
DataSet ds = new DataSet();
conn.Open();
da.Fill(ds);
conn.Close();
return ds;
}