繁体   English   中英

Visual Studio 2010中未更新DataSet

[英]DataSet is not updated in visual studio 2010

我是Visual Studio-2010的新手。 我正在尝试创建一个从sql数据库读取数据并在datagrid上显示的应用程序。 我实现了在互联网上找到的代码。

这是sql_button_Click函数

private void sql_button_Click(object sender, RoutedEventArgs e)
    {
         string ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename='C:\\Users\\jakkulv\\Downloads\\VS projects\\employee\\employee\\SampleDatabase.mdf';Integrated Security=True;Connect Timeout=30;User Instance=True";
        string SQL = "select emp_id,first_name from employee";
        SqlConnection conn = new SqlConnection(ConnectionString);
        // open the connection
        conn.Open();
        //Create a SqlDataAdapter object
        SqlDataAdapter adapter = new SqlDataAdapter(SQL, conn);
        // Call DataAdapter's Fill method to fill data from the
        // Data Adapter to the DataSet
        DataSet ds = new DataSet("employee"); //database table name is "employee"
        ds.Clear();
        adapter.Fill(ds);
        // Bind data set to a DataGrid control
        dataGrid1.ItemsSource = ds.DefaultViewManager;


        if (ds.HasChanges(DataRowState.Added))
        {
            // New rows have been added to the dataset, add appropriate code.
            MessageBox.Show("data set has changes");
        }
        else
        {
            MessageBox.Show("data set has no changes");
            // No new rows have been added to the dataset, add appropriate code.
        }

但是当我执行相同的操作时,它会显示消息框,说-“数据集没有更改”。

为什么数据集不更新?如何更新?

您的代码将始终导致data set has no changes的消息框,因为它没有任何更改。

数据与来自数据库的数据相同,并且由于您尚未修改,删除任何记录或添加任何记录,因此没有更改。

就像MSDN文档所说的

获取一个值,该值指示DataSet是否进行了更改,包括行, 已删除行或已修改行。

尝试对其进行修改,然后调用ds.HasChanges() ,您将看到它将返回true。

暂无
暂无

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

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