2016-06-07 21 views
0
// GetUserByUsername 
public DataSet GetUserByUsername(string Username) 
{ 
    User _user = null; 
    using (SqlCommand cmd = new SqlCommand(DBHelper.UserMethod("GetUsername"),con)) 
    { 
     cmd.CommandType = CommandType.StoredProcedure; 
     cmd.Parameters.AddWithValue("@username", Username); 
     SqlDataAdapter da = new SqlDataAdapter(); 
     DataSet ds = new DataSet(); 
     da.Fill(ds);     
    } 
    return ds; 
} 

在我上面的方法的返回類型是DataSet,在這裏我DOUT是,如果我改變DataType給用戶,然後如何轉換該數據集DS到用戶讓我告訴你。如何將DataSet轉換爲C#中的用戶對象?

例如:

// GetUserByUsername 
public User GetUserByUsername(string Username) 
{ 
    User _user = null; 
    using (SqlCommand cmd = new SqlCommand(DBHelper.UserMethod("GetUsername"),con)) 
    { 
     cmd.CommandType = CommandType.StoredProcedure; 
     cmd.Parameters.AddWithValue("@username", Username); 
     SqlDataAdapter da = new SqlDataAdapter(); 
     DataSet ds = new DataSet(); 
     da.Fill(ds);     
    } 
    return (User)ds; 
} 

我能以這種方式使用或者是他們的任何其他方式,我可以使用,而不是DataSet, DataTable

+4

我要離開這個評論,因爲它不直接回答問題。我不會使用DataSet,我會使用DataReader。另外我不會手動將DataReader轉換爲數據對象,我會使用Dapper。 https://github.com/StackExchange/dapper-dot-net#execute-a-query-and-map-the-results-to-a-strongly-typed-list – AndyJ

+0

你期望什麼?只有一個用戶名像字符串?然後......像這樣會是最簡單的方法: 'return ds.Tables(0).Rows(0)(「Username」)。ToString();' –

回答

相關問題