使用SqlDataAdapter问题读取和更新数据

| 我正在寻找一些有关如何最好地使用SqlDataAdapter来访问和更新应用程序中的数据的示例。 现在我有这样的事情:
SqlDataAdapter adapter;
DataSet myData = MyDataAccessClass.GetData(\"Select * from Students\", ref adapter);
// change some data here and save changes
adapter.Update();
所有这些都发生在后面的代码中,我一点都不喜欢它。 因此,我正在尝试找到一种方法来执行以下操作:
DataSet myData = MyDataAccessClass.GetStudents();
// change some data and save changes
MyDataAccessClass.SaveStudents(myData);
其中“ 2”方法仍使用SqlDataAdapter更新数据库。 关于如何进行这项工作的任何想法,或一些有关最佳实践做法的指针 像这样的东西受到高度赞赏。谢谢。     
已邀请:
        对我来说,这似乎是一个相当基本的数据访问层实现。通常,我这样做是这样的:
public class MyDataAccessClass
{
    private string ConnString;

    public MyDataAccessClass()
    { //Get connection string from configuration file }

    public MyDataAccessClass(string connString)
    { ConnString = connString; }

    public DataSet GetAllStudents()
    {
       //your SQL Adapter code here...
    }
}
我要说明的一点是,由于有这么多可用的ORM解决方案(仅包括Entity Framework和Linq2Sql),您可能需要考虑使用对象集合而不是数据集作为数据表示形式。然后,您可以使用如下方法:
public void CreateUpdateStudent(Student student)
{
    //update database
}
我承认,这是相当主观的,但是我发现它比使用直接的DataSet更可取。     
        如果要使用sql-data-adapter获取更新数据,则可以使用这些 使用System.Data.SqlClient;
        SqlConnection con = new SqlConnection(\"Data Source=abcd-pc;Initial Catalog=user_info;Integrated Security=True\");
        SqlDataAdapter da = new SqlDataAdapter();
        try
        {

            da.UpdateCommand = new SqlCommand(\"Update logindemo set password=@pswd where username=@uname\",con);
            da.UpdateCommand.Parameters.Add(\"@pswd\", SqlDbType.VarChar).Value = txtpass.Text;
            da.UpdateCommand.Parameters.Add(\"@uname\", SqlDbType.VarChar).Value = txtusername.Text;
            con.Open();
            da.UpdateCommand.ExecuteNonQuery();
            Label1.Text = \"Data Updated\";
            con.Close();

        }
        catch
        {
            Label1.Text = \"Unable To Connect\";
        }
希望您了解如何轻松更新数据。就像例子一样。您可以在“插入数据”和“删除数据”中使用这些类型的示例,并根据需要使用特定的命令和sql查询。     

要回复问题请先登录注册