我有一个具有复合键的表,以便从两个不同的表中检索数据。我已经创建了存储过程来执行此操作并且工作正常:
存储过程:
ALTER PROC dbo.spp_adm_user_user_group_sel
AS
BEGIN
SET NOCOUNT ON
SELECT
g.name AS Group_Name, u.fullname, u.designation,
u.email, u.mobile
FROM
TBL_ADM_USER_GROUP g, TBL_ADM_USER u
WHERE
g.id = u.group_id
AND (g.deleted IS NULL OR g.deleted <> 1)
END
Run Code Online (Sandbox Code Playgroud)
结果是这样的:
Group_name fullname designation email mobile
Alex fffffffff Engineer sss@mail.come 3333333333
Jon hhhhhhhhh programmer hh@mail.com 020202028347
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,存储过程没有任何参数。如何使用 C# 读取此输出并将其作为列表返回?
代码:
public List<string> GetData()
{
using (SqlConnection con = new SqlConnection(Global.Config.ConnStr))
{
string group;
DataTable dt = new DataTable();
List<string> details = new List<string>();
SqlCommand cmd = new SqlCommand("spp_adm_user_user_group_sel", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
details.Add(group);
}
}
return details;
}
Run Code Online (Sandbox Code Playgroud)
将您的代码更改为此
public List<yourClass> GetData()
{
using (SqlConnection con = new SqlConnection(Global.Config.ConnStr))
{
DataTable dt = new DataTable();
List<yourClass> details = new List<yourClass>();
SqlCommand cmd = new SqlCommand("spp_adm_user_user_group_sel", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
foreach(DataRow dr in dt.Rows)
{
yourClass obj = new yourClass();
obj.fullname= dr["fullname"].ToString();
obj.email= dr["email"].ToString();
details.Add(obj);
}
return details;
}
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
18797 次 |
| 最近记录: |