Я занимаюсь разработкой веб-приложения ASP.Net C #, которое содержит GridView для отображения записей определенной таблицы из моей базы данных, которую я использую ODBC Connection для подключения к ней, и DataSet для сохранения в ней данных и их редактирования. следует сохранить данные в базе данных, используя изменения, внесенные в DataSet.
Я мог получить доступ к базе данных успешно, используя метод fill () в OdbcDataAdapter, и я мог выполнить привязку данных, чтобы данные просматривались в GridView.
Мой вопрос заключается в том, как сохранить вид сетки в наборе данных, а затем в базу данных, когда будут произведены какие-либо обновления или изменения [наоборот, операции, выполненные ранее]?
Мой пример кода, который используется внутри класса веб-формы, выглядит следующим образом: -
private void SelectFromDatabase()
{
string OdbcConnectionString1 = getConnectionString();
OdbcConnection OdbcConnection1 = new OdbcConnection(OdbcConnectionString1);
string OdbcSelectText1 = "SELECT * FROM table";
OdbcCommand OdbcSelectCommand1 = new OdbcCommand(OdbcSelectText1, OdbcConnection1);
OdbcDataAdapter OdbcDataAdapter1 = new OdbcDataAdapter();
try
{
OdbcConnection1.Open();
OdbcDataAdapter1.SelectCommand = OdbcSelectCommand1;
OdbcDataAdapter1.AcceptChangesDuringFill = true;
int FillResult = OdbcDataAdapter1.Fill(myDataSet, TableName);
myDataSet.AcceptChanges();
fillGridViewbyDataset(myGridView, myDataSet, TableName);
Response.Write("<br/>SelectFromDatabase() Fill Result: " + FillResult);
}
catch (Exception Exception1)
{
Response.Write("<br/> SelectFromDatabase() Exception: " + Exception1.Message);
}
finally
{
OdbcConnection1.Close();
}
}
private void fillGridViewbyDataset(GridView gv, DataSet ds, string dt)
{
gv.DataSource = ds;
gv.DataMember = dt;
gv.DataBind();
}
what I need is something like:-
how to save Gridview to the DataSet then save the DataSet to the database as i got the gridview updates but the database still without any updates !!
если у меня есть DataSet с именем myDs, и я редактирую поле в нем путем прямого доступа в цикле, как показано ниже: -
for (int i = 0; i < myDS.Tables[TableName].Rows.Count; i++)
{
//some function or web method to get the id value of the record being updated
int n = getNewNumber();
//updating the dataset record according to some condition
if (n == 0)
{
myDS.Tables[TableName].Rows[i]["id"] = n;
myDS.Tables[TableName].Rows[i]["description"] = "some data";
}
else
{
myDS.Tables[TableName].Rows[i]["id"] = n;
myDS.Tables[TableName].Rows[i]["description"] = "new data";
}
}
Как я делаю эти изменения в базе данных, как я мог видеть это в GridView, когда я выполняю databind (), но на базу данных это не влияет, и я пытаюсь использовать методы заполнения и обновления OdbcDataAdapter и OdbcCommandBuilder ??
Пожалуйста, это срочно, так как мне это нужно для разработки важного приложения.
Заранее спасибо за ваши ответы и ответы .....