VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 832|回复: 5

关于datagrid数据保存的问题(急)

[复制链接]

1

主题

3

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-11-11 10:30:02 | 显示全部楼层 |阅读模式

按钮调用如下方法:没有报错,但是重新检索的时候数据没有改变
public static  void UpdateDataset(DataSet dataSet, string tableName,string connstr)
                {
                        SqlConnection conn = new SqlConnection(connstr);
                        conn.Open();
                        string ls_sql = "select top  0 * from " + tableName;                       
                        SqlDataAdapter da = new SqlDataAdapter(ls_sql,conn);
                        SqlCommandBuilder cb = new SqlCommandBuilder(da);
                        DataSet ds = new DataSet();
                        ds.Clear();
                        da.Fill(ds,tableName);
                        ds = dataSet.Copy();
                        try
                        {
                                da.Update(ds,tableName);
                        }
                        catch(System.Data.SqlClient.SqlException e)
                        {
                                throw new Exception(e.Message);
                        }
                        finally
                        {
                                conn.Close();
                                da.Dispose();
                                cb.Dispose();
                                ds.Dispose();
                                dataSet.AcceptChanges();
                        }
                }
回复

使用道具 举报

1

主题

3

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
 楼主| 发表于 2020-11-11 10:45:01 | 显示全部楼层
private void button3_Click(object sender, System.EventArgs e)
                {
                        dscus.AcceptChanges();
                    JXC.publicdata.UpdateDataset(dscus,"customer",conntodatabase.dataconn);
                }
这是按钮事件代码如上:调用publicdata.UpdateDataset方法
回复

使用道具 举报

0

主题

64

帖子

45.00

积分

新手上路

Rank: 1

积分
45.00
发表于 2020-11-11 11:00:02 | 显示全部楼层
跟踪一下
回复

使用道具 举报

1

主题

3

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
 楼主| 发表于 2020-11-11 14:15:01 | 显示全部楼层
跟踪了,都没有发现问题,不管是增加,编辑之后保存都不行!数据并没有改变,都设有主键
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-11-11 16:15:01 | 显示全部楼层
public  int UpdateDataset(System.Data.DataTable qgf_DataTable, string selectCommand,System.Data.SqlClient.SqlCommand qgf_Insert)
                {
                        using(SqlConnection qgf_SqlConnection=new SqlConnection())
                        {
                                qgf_SqlConnection.ConnectionString=this._strSQLString;
                                SqlCommand qgf_SqlCommand=new SqlCommand();
                                qgf_SqlCommand.Connection=qgf_SqlConnection;
                                qgf_SqlCommand.CommandType=CommandType.StoredProcedure;
                                qgf_SqlCommand.CommandText=selectCommand;

                                qgf_Insert.Connection=qgf_SqlConnection;
                                qgf_Insert.CommandType=CommandType.StoredProcedure;

                                SqlDataAdapter adapter = new SqlDataAdapter(qgf_SqlCommand);
                                SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(adapter);

                                adapter.InsertCommand=qgf_Insert;

                                adapter.UpdateCommand=cmdBuilder.GetUpdateCommand();
                                adapter.DeleteCommand=cmdBuilder.GetDeleteCommand();
                                int val=0;
                                try
                                {
                                        val= adapter.Update(qgf_DataTable);
                                        qgf_DataTable.AcceptChanges();
                                }
                                catch(System.Exception Ex)
                                {
                                        val=2;
                                }
                                finally
                                {
                                adapter.Dispose();
                                cmdBuilder.Dispose();
                                qgf_SqlCommand.Dispose();
                                qgf_SqlConnection.Dispose();

                                }
                                return val;
                        }
                }
回复

使用道具 举报

3

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-11-11 16:30:01 | 显示全部楼层
能不能把你上面的代码解释一下,我看的不是太懂,是个自己编写的函数吗?那要传给的参数是什么呢,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表