简体   繁体   English

SQLDataAdapter转换为C#中的类

[英]SQLDataAdapter to Class in C#

I have here my code for a SQL Query in C#. 我在这里使用C#中的SQL查询代码。

string user_select()
{
    SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\avasi\Desktop\PROIECTE_USV\FoodKing_PC\FoodKing_PC\SQL_Database\fkDatabase.mdf;Integrated Security=True;Connect Timeout=30");
    SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM tabel_utilizatori WHERE user_name ='" + this.user_name + "' AND user_password ='" + this.user_password + "'", con);
    DataTable dt = new DataTable();
    sda.Fill(dt);

}

Can you help me to move the data from that SQLDataAdapter to the data members of this class? 您能帮我将数据从该SQLDataAdapter移到此类的数据成员吗?

    class utilizator
    {
        int user_id;
        string user_name;
        string user_password;
        string user_email;
        string user_phone;
        string user_avatar;
        bool user_firstlogin;
        int user_type;
}

Use can do something like this 使用可以做这样的事情

var ListofUtilizator= dt.AsEnumerable().Select(r =>
    new utilizator
    {
        user_id= r.Field<int>("user_id"),
        user_name= r.Field<string>("user_name")
    }).ToList();

In C# use Utilizator Capital letter for the classname 在C#中,将Utilizator大写字母用作类名

@user9811734, below is the method which convert your data table to list of your class : @ user9811734,下面是将数据表转换为类列表的方法:

private static List<T> ConvertDataTable<T>(DataTable dt)  
{  
    List<T> data = new List<T>();  
    foreach (DataRow row in dt.Rows)  
    {  
        T item = GetItem<T>(row);  
        data.Add(item);  
    }  
    return data;  
} 

to make a call use : 打电话:

utilizator entityutilizator = new utilizator();
entityutilizator = ConvertDataTable(#your datatable#); -- here as per your code it's 'dt'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM