
[英]How do I get Visual Studio 2010 to refresh my DataSet after I have updated the Database source?
[英]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.