如何在ASP.Net C#中将数据从GridView保存和更新到数据库?

时间:2011-07-09 10:09:18

标签: c# asp.net ado.net odbc dataadapter

我使用ASP.Net C#开发了一个Web应用程序。

在这个应用程序中有一个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();

}

此代码工作正常,并将数据从数据集加载到GridView。

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

我尝试使用以下内容,但它不起作用,结果为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中,但我发现没有任何变化。

1 个答案:

答案 0 :(得分:0)

我需要阅读Microsoft和MSDN,以获取有关使用C#,ASP.NET和ADO.Net执行基本数据库SQL操作(SELECT - INSERT - UPDATE - DELETE)的更多示例和代码示例。 在使用断开连接模式的情况下,ODBCDataAdapter应该是处理它的好方法,或者在使用在线模式时ODBCDataReader将是一个好方法。