Я разработал веб-приложение с использованием ASP.Net 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();
}
Этот код отлично работает и загружает данные из набора данных в 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.