Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Updating DataSet with Multiple Tables
Message
 
To
16/11/2004 13:32:57
General information
Forum:
ASP.NET
Category:
Other
Environment versions
Environment:
C# 1.1
OS:
Windows XP SP2
Network:
Windows XP
Database:
MS SQL Server
Miscellaneous
Thread ID:
00961815
Message ID:
00961854
Views:
4
Hi Bonnie,

Here is the code for SaveDataSet():
public override int SaveDataSet(DataSet ds)
{
	SqlDataAdapter DataAdapter;
	
	if (ds is CDataSet)
	{
		/// If this is a custom DataSet, get a reference to the
		/// DataSet's data adapter and store it in the DataAdapter variable
		CDataSet dsSql = (CDataSet)ds;
		DataAdapter = (SqlDataAdapter)dsSql.DataAdapter;
	}
	else
	{
		/// If this is NOT a Custom DataSet, create a new Data Adapter
		DataAdapter = new SqlDataAdapter();
	}
	SqlCommandBuilder CommandBuilder = new SqlCommandBuilder(DataAdapter);
	CommandBuilder.QuotePrefix = "[";
	CommandBuilder.QuoteSuffix = "]";

	DataAdapter.DeleteCommand = CommandBuilder.GetDeleteCommand();
	DataAdapter.UpdateCommand = CommandBuilder.GetUpdateCommand();
	DataAdapter.InsertCommand = CommandBuilder.GetInsertCommand();


	// Update the data in the DataSet
	int RowsUpdated = DataAdapter.Update(ds, ds.Tables[0].ToString());
			
	return RowsUpdated;
}
>Mike,
>
>I have Kevin's book, but I haven't downloaded his sample code. How is the current SaveDataSet() method currently coded? Does it not include a way to work with a multi-table DataSet? I've not written any "generic" data access class to do this sort of thing (all my data access classes are specific to what's being updated), so looking at the code for the sample SaveDataSet() method that you're already using may give me some ideas of how to "generic-ize" it. <g>
>
>~~Bonnie
>
>
>
>>I am trying to enhance the WebForms example application from Chapter 10 of Kevin McNeish's book '.Net for Visual FoxPro Developers'.
>>
>>On the OrderEdit form, I added Edit buttons to the grid grdOrderItems. This worked ok. Then, I tried to join the Products table with the OrderItems table, in the DataSet, to show the ProductName rather than the ProductID.
>>
>>The ProductName shows ok, but when I try to do any edits, I get an error that the CommandBuilder can't build commands for DataSets with multiple tables; you have to define your own commands manually. However, I was trying to use Kevin's business objects, from Chapter 8, where there is a generic SaveDataSet() method in the DataAccessSql data object in the Data.cs file, where commands are built on-the-fly for the DataSet passed in.
>>
>>Is there any way to keep using business objects with DataSets with multiple tables? How would I need to code my DataAdapter DeleteCommand, etc. to be generic (to work with any DataSet passed in)?
>>
>>Thanks
Mike C.
-------
I keep trying to find a life of my own, apart from you.
DC Talk/Charlie Peacock, In the Light.
www.risensystems.com/ra/itlbegin.rm
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform