سلام
فرض کنید که بخواهیم در یک متغیر، قراره مقادیری رو ذخیره کنیم و اون مقادیر رو الان تو دیتابیس هستش . برای مثال، ما می خواهیم عد و رشته از دیتابیس بگیریم پس برای اینکار باید متغیری تعریف کنیم که قابلیت نگهداری بیش از یک مقدار را داشته باشد. . و یه متغیر از نوع int برای ارایه اول و نوع دوم هم استرینگ خواهد بود
این بنظرم مثال خوبیه
public ArrayList ConvertDataSetToArrayList()
{
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("Select * from AccountsTable",conn);
cmd.CommandType = CommandType.Text;
conn.Open();
SqlDataAdapter myAdapter = new SqlDataAdapter();
myAdapter.SelectCommand = cmd;
DataSet myDataSet = new DataSet();
myAdapter.Fill(myDataSet);
ArrayList myArrayList = new ArrayList();
foreach (DataRow dtRow in myDataSet.Tables[0].Rows)
{
myArrayList.Add(dtRow);
}
conn.Close();
return myArrayList;
}
public class Student
{
public int ID { get; set; }
public string Name { get; set; }
public DateTime DateOfBirth { get; set; }
}
after that
List<Student> student = new List<Student>();
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Prac\TestAssembly\ForumsProjectCSharp\App_Data\Studetnt.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd = new SqlCommand("select * from Student", conn);
SqlDataReader dr;
try
{
conn.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{
student.Add(new Student()
{
ID = dr.GetInt32(dr.GetOrdinal("ID")),
Name = dr.GetString(dr.GetOrdinal("Name")),
DateOfBirth = dr.GetDateTime(dr.GetOrdinal("DateOfBirth"))
});
}
dr.Close();
}
catch (Exception exp)
{
throw;
}
finally
{
conn.Close();
}