如何在ASP中保存和更新GridView数据到数据库.净c#

本文关键字:数据 GridView 数据库 更新 ASP 保存 | 更新日期: 2023-09-27 18:01:33

我使用ASP开发了一个web应用程序。净c#。

在这个应用程序中有一个GridView,我使用ODBCDataAdapter填充数据,如下面的代码所示:-

protected void Page_Load(object sender, EventArgs e)
{
ConnectionString1 = "DSN=DataSourceName;SRVR=Server;DB=Database;UID=User;PWD=Password;";
OdbcConnection1 = new OdbcConnection(ConnectionString1);
try
{
                OdbcConnection1.Open();
                CommandText1 = "SELECT * FROM TableName";
                DataSet1 = new DataSet();
                OdbcDataAdapter1 = new OdbcDataAdapter(CommandText1, OdbcConnection1);
                OdbcCommandBuilder1 = new OdbcCommandBuilder(OdbcDataAdapter1);
                OdbcDataAdapter1.Fill(DataSet1, "TableName");
                DataSet1.AcceptChanges();
                myGridView.DataSource = DataSet1;
                myGridView.DataMember = "TableName";
                myGridView.DataBind();
}
catch (Exception Exception1)
{
Response.Write("<br/>Exception1 Message: " + Exception1.Message);
}
OdbcConnection1.Close();
}

这段代码可以很好地将数据从dataset加载到GridView。

我的问题是我在GridView中做了一些更改,我想使用应该根据按钮单击事件或特定条件更改的数据集将这些更改保存在真实数据库中。

我尝试使用以下命令,但它没有工作,尽管它给出0作为结果。

OdbcDataAdapter1。UpdateCommand = new OdbcCommand("UPDATE TableName", OdbcConnection1);

            OdbcDataAdapter1.Fill(DataSet1,"TableName");
            int g = OdbcDataAdapter1.Update(DataSet1,"TableName");
            Response.Write("g: " + g);

我还尝试了以下操作:-

            OdbcCommandBuilder1 = new OdbcCommandBuilder(OdbcDataAdapter1);
            try
            {
                int k = OdbcDataAdapter1.Update(DataSet1, "TableName");
                DataSet1.AcceptChanges();
                Response.Write("k: " + k);
            }
            catch (Exception Except)
            {
                Response.Write("Except: " + Except.Message);
            }

作为每次我检查数据库,我发现没有变化,虽然变化出现在GridView..

如何在ASP中保存和更新GridView数据到数据库.净c#

我需要阅读微软和MSDN更多的例子和代码样本关于做基本的数据库SQL操作(SELECT - INSERT - UPDATE - DELETE)使用c#, ASP。. NET和ADO.Net。在使用断开连接模式的情况下,ODBCDataAdapter应该是处理这个问题的好方法,或者ODBCDataReader将是使用在线模式的好方法。