如何在C#中从SQL设置动态数组数据

3

如何在C#中从SQL Server设置数据。

我的班级Student:

public class student
{
    public int StudentID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

我想从SQL中设置数据

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conStr"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "Select * From Student";
cmd.Connection = con;
DataTable datatable = new DataTable();
con.Open();
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(cmd);
sqlDataAdapter.Fill(datatable);
con.Close();
sqlDataAdapter.Dispose();
foreach (DataRow dr in datatable.Rows)
{
    //Set Data: ex: student[] students=new student[];
    //students=new students{StudentID=dr["ID"],FirstName=dr["FirstName"]}
    // ...
}

我的代码集数据

namespace WebApi2.myapi
{
public class StudentController : ApiController
{
    student[] students = new student[]
     {
         new student { StudentID = 1, FirstName = "Jishan", LastName = "Siddique" },
         new student { StudentID = 2, FirstName = "Bharat", LastName = "Darji" },
         new student { StudentID = 3, FirstName = "Ravi", LastName = "Mori" },
         new student { StudentID = 4, FirstName = "Jay", LastName = "Singh" }
     };

    public IEnumerable<student> GetStudents()
    {
        return students;
    }
}
}

最后:我希望得到这样的一个结果:student.StudentID = dr["ID"]; student.FirstName = dr["FirstName"]。谢谢大家观看,抱歉我的英文不好。我在谷歌上搜索了这个结果但没有找到。

1
请勿将代码发布为图片。请将您的代码作为格式化的“文本”包含在内。另外,您在这里的问题是什么?“帮我”,不是一个问题。请查看“如何提出好问题?”并编辑您的问题以帮助我们帮助您。 - Thom A
是的!我已经解决了这个问题。你能帮我吗? - Long Hoàng Nguyễn
是的!我已经修复了。谢谢你的提醒。 - Long Hoàng Nguyễn
你为什么不使用ORM来处理应用程序代码呢?EF非常流行,但我个人更喜欢使用Dapper。当然,你可以创建一个Student列表,并在循环中填充它(但在这种情况下,你可能想使用更轻量级的DataReader而不是DataSet)。 - Zohar Peled
我的代码有办法可以工作吗? - Long Hoàng Nguyễn
1个回答

3
你可以通过从DataRow中获取值来实现:
List<student> students = new List<student>();
foreach (DataRow dataRow in datatable.Rows)
{  

     students.Add(new student(){
         StudentID =dataRow["StudentID"];
         FirstName = dataRow["FirstName"] ;
         LastName = dataRow["LastName"] ;
     })
}

所以,“students”集合将包含所有学生。

严重程度 代码 描述 项目 文件 行 抑制状态 错误 IDE1007 当前上下文中不存在“students.Add”名称。 WebApi2 C:\Users\obu\Downloads\WebApi2\WebApi2\WebApi2\myapi\StudentController.cs 14 活动的 - Long Hoàng Nguyễn
1
谢谢。非常感谢你。再次感谢你 :) 它正在工作! - Long Hoàng Nguyễn
@LongHoàngNguyễn 我很高兴能帮助你! - StepUp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接