[英]C# Winforms control - DataGridView - Update Database
我使用的程序是WAMP服务器(尤其是它的mysql功能)和MS Visual Studio 2010,我正在C#中进行编程
基本上,这是我需要的,并且目前可以与我的应用程序一起使用。
我在整个项目中都有几个datagridview
,第一个很简单,只需按一下按钮,它就可以从数据库的特定表中加载所有数据。 我有另一种形式,可以插入记录,并设法制作了一个删除功能,该功能要求用户输入2个字段(名字和姓氏),然后将其放入查询并执行命令。
我需要做什么?
我需要能够为表单实现某种方式来更新数据库。 我选择通过datagridview
控件执行此操作,以便用户在编辑时可以看到他们正在编辑的内容。
我有以下代码,我尝试根据datagridview
控件中的数据更新数据库。
string connString = "server=localhost;User Id=root;database=collegelist;";
MySqlConnection conn = new MySqlConnection(connString);
string selectSQL = "SELECT * FROM collegeemployee";
conn.Open();
MySqlDataAdapter da = new MySqlDataAdapter(selectSQL, conn);
MySqlCommandBuilder builder = new MySqlCommandBuilder(da);
DataTable table = new DataTable();
try
{
dgView2.Rows.RemoveAt(dgView2.CurrentRow.Index);
da.Update(table);
}
catch (Exception exceptionObj)
{
MessageBox.Show(exceptionObj.Message.ToString());
}
这段代码(显然是在方法中列出)的问题是,虽然可以修改网格,但无法将数据传递回数据库。
而不是使用空表更新数据库,您应该做的是。 i。获取数据源。 像ii。 更新/同步数据源和数据适配器这是应该工作的代码,如果不行,请注释并告诉我问题。
string connString = "server=localhost;User Id=root;database=collegelist;";
MySqlConnection conn = new MySqlConnection(connString);
string selectSQL = "SELECT * FROM collegeemployee";
conn.Open();
MySqlDataAdapter da = new MySqlDataAdapter(selectSQL, conn);
MySqlCommandBuilder builder = new MySqlCommandBuilder(da);
BindingSource BindingSourceToUpdate = (BindingSource)dgView2.DataSource; // because direct casting to data table was failing in VS2o1o
try
{
dgView2.Rows.RemoveAt(dgView2.CurrentRow.Index);
da.Update((DataTable)BindingSourceToUpdate.DataSource);
}
catch(exception)
{
}
conn.close();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.