我正在开发一个ASP.Net C#Web应用程序,它包含一个GridView来显示我的数据库中的某个表的记录,我使用ODBC连接来连接它并使用一个DataSet来保存数据并编辑它,然后我应该使用DataSet中所做的更改将数据保存到数据库。如何将数据从GridView保存到数据库?
我可以使用OdbcDataAdapter的fill()方法成功地访问数据库,并且我可以执行数据绑定,以便在GridView中查看数据。
我的问题是,我可以如何保存gridview到数据集,然后到数据库,当任何更新或更改完成[反之前操作完成]?这是一个Web表单类中使用
我的示例代码如下: -
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 !!
如果我有一个数据集被称为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当我做数据绑定(),但数据库没有受到影响,我尝试使用OdbcDataAdapter的的填充&更新方法和OdbcCommandBuilder ??
请,这是迫切,因为我需要它在发展中具有重要的应用..
预先感谢您的回复和解答.....
您的链接很有用,但不适用于我想要的情况。请检查我添加的第二个代码,以了解问题所在,我等待您的回答,并提前感谢您的帮助。 – TopDeveloper
实际上它适用于如何将编辑的行保存到数据集,最后一段代码显示如何将该数据集保存到数据库。 – Abbas
其实这不是我想要的情况,但你发送的链接是有用的。谢谢你的帮助。 – TopDeveloper