我使用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中,但我发现没有任何变化。
答案 0 :(得分:0)
我需要阅读Microsoft和MSDN,以获取有关使用C#,ASP.NET和ADO.Net执行基本数据库SQL操作(SELECT - INSERT - UPDATE - DELETE)的更多示例和代码示例。 在使用断开连接模式的情况下,ODBCDataAdapter应该是处理它的好方法,或者在使用在线模式时ODBCDataReader将是一个好方法。