gpt4 book ai didi

c# - 将数据集保存到数据库

转载 作者:行者123 更新时间:2023-11-30 14:00:14 24 4
gpt4 key购买 nike

我正在尝试将数据集保存到数据库中。我从另一个类得到了一个数据集,现在用户将在数据 GridView 上对表单进行更改,然后需要将更改后的数据集保存在数据库中。

我正在使用下面的代码;它不会产生任何错误,但数据不会保存在数据库中。

public class myForm    
{
DataSet myDataSet = new DataSet();
public void PouplateGridView()
{
try
{
SqlService sql = new SqlService(connectionString); // Valid Connection String, No Errors


myDataSet = sql.ExecuteSqlDataSet("SELECT * FROM Qualification"); // Returns a DataSet
myDataGridView.DataSource = myDataSet.Tables[0];
myDataGridView.AutoGenerateColumns = true;
myDataGridView.AutoResizeColumns();
}
catch (Exception ex)
{
MessageBox.Show(ex.InnerException + Environment.NewLine + ex.Message, "Error");
this.Close();
}

}

private void btnSave_Click(object sender, EventArgs e)
{
//myDataSet.AcceptChanges();EDIT:Don't know why, but this line wasn't letting the chane in db happen.
SqlCommand sc = new SqlCommand("SELECT * FROM Qualification", sql.Connection); //ADDED after Replies
SqlDataAdapter da = new SqlDataAdapter();
SqlCommandBuilder scb = new SqlCommandBuilder(da); //ADDED after replies
da.Update(myDataSet.Tables[0]);
}
}
public class mySqlService
{
public DataSet ExecuteSqlDataSet(string sql)
{
SqlCommand cmd = new SqlCommand();
this.Connect();
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();

cmd.CommandTimeout = this.CommandTimeout;
cmd.Connection = _connection;
if (_transaction != null) cmd.Transaction = _transaction;
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;

da.SelectCommand = cmd;

da.Fill(ds);
da.Dispose();
cmd.Dispose();

if (this.AutoCloseConnection) this.Disconnect();

return ds;
}
}

我在这里做错了什么?网上有保存数据集的方法,如果数据集是在同一个类中创建、编辑和保存的,但我想在 mySqlService 类中使用 select dataset 方法。我应该如何,现在可以将数据集保存到数据库中?

编辑:我已经注释了使代码工作所需的三行。代码现在可以工作了。

最佳答案

为了运行 SqlDataAdapterUpdate 方法,您必须配置 InsertCommandDeleteCommandUpdateCommand 属性以及 SqlDataAdapter 的 SelectCommand 或构造 SqlCommandBuilder隐式配置这些命令的对象。

关于c# - 将数据集保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11608546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com