C#实体类和SQL数据库表的映射关系
private void button2_Click(object sender, EventArgs e)
{
Role[] role;
SqlConnection con = new SqlConnection("Data Source=SLY//SQLEXPRESS;Initial Catalog=ManagerRoles;User ID=sa");
SqlCommand cmd = new SqlCommand("select * from Roles",con);
SqlDataReader dr;
con.Open();
dr = cmd.ExecuteReader();
DataDAL dataDal = new DataDAL();
role = dataDal.GetRoles(dr);
con.Close();
textBox2.Text = role[0].RoleID.ToString();
textBox3.Text = role[0].Names.ToString();
textBox4.Text = role[0].Description.ToString();
}
类:DataDAL
public Role[] GetRoles(IDataReader reader)
{
System.Collections.ArrayList al = new System.Collections.ArrayList();
try
{
while (reader.Read())
{
Role role = new Role();
ReaderToObject(reader, role);
al.Add(role);
}
}
finally
{
reader.Close();
}
return (Role[])al.ToArray(typeof(Role));
}
private void ReaderToObject(IDataReader reader, object targetObj)
{
for (int i = 0; i < reader.FieldCount; i++)
{
System.Reflection.PropertyInfo propertyInfo = targetObj.GetType().GetProperty(reader.GetName(i));
if (propertyInfo != null)
{
if (reader.GetValue(i) != DBNull.Value)
{
if (propertyInfo.PropertyType.IsEnum)
{
propertyInfo.SetValue(targetObj, Enum.ToObject(propertyInfo.PropertyType, reader.GetValue(i)), null);
}
else
{
propertyInfo.SetValue(targetObj, reader.GetValue(i), null);
}
}
}
}
}
实体类:Role
int roleID;
public int RoleID
{
get { return roleID; }
set { roleID = value; }
}
string names;
public string Names
{
get { return names; }
set { names = value; }
}
string description;
public string Description
{
get { return description; }
set { description = value; }
}

浙公网安备 33010602011771号