Main Page | Report this Page
.NET DotNet Forum Index  »  ADO .NET Forum  »  DataSet data table name...
Page 1 of 1    

DataSet data table name...

Author Message
Ron Harter...
Posted: Tue Jun 30, 2009 6:00 pm
Guest
I have setup for select statements to retrieve data from 4 tables. When all
is said and done and I look for certain tables in the returned DataSet I am
unable to locate the table. When I dig into the DataSet I discovered the 4
tables had names of table, table1, table2, and table3.

I expected VS2008 sp1 and SQL Server 2008 developers edition to return the
proper table name from the data base. Has anyone seen this problem? Is it a
problem? I am enclosing the code snippet

DataSet ds = new DataSet();
DbProviderFactory dbProviderFactory =
DbProviderFactories.GetFactory("System.Data.SqlClient");

using (DbConnection conn = dbProviderFactory.CreateConnection())
{
string s =
ConfigurationManager.ConnectionStrings["Events"].ConnectionString;
conn.ConnectionString = s;
conn.Open();

DbCommand cmd = conn.CreateCommand();
cmd.CommandText = "Select * from FixedHolidays Select * from
FloatingHolidays Select * from LostBoats Select * from Events";

DbDataAdapter dbAdapter = dbProviderFactory.CreateDataAdapter();
dbAdapter.SelectCommand = cmd;
dbAdapter.Fill(ds);

foreach (DataTable t in ds.Tables)
{
Console.WriteLine("Table " + t.TableName + " is in DataSet");
}
}


-----
Ron Harter | Tongue, Tied and Twisted
rdharter at (no spam) comcast.net | Just An Earthbound Misfit ... I
| Pink Floyd
 
Cor Ligthert[MVP]...
Posted: Wed Jul 01, 2009 12:14 am
Guest
Hi Ron,

Have a look at mappings

http://msdn.microsoft.com/en-us/library/ks92fwwh.aspx

Cor


"Ron Harter" <rdharter at (no spam) comcast.net> wrote in message
news:DE925332-6F4C-4D09-8223-643C70C54DA3 at (no spam) microsoft.com...
Quote:

I have setup for select statements to retrieve data from 4 tables. When
all is said and done and I look for certain tables in the returned DataSet
I am unable to locate the table. When I dig into the DataSet I discovered
the 4 tables had names of table, table1, table2, and table3.

I expected VS2008 sp1 and SQL Server 2008 developers edition to return the
proper table name from the data base. Has anyone seen this problem? Is it
a problem? I am enclosing the code snippet

DataSet ds = new DataSet();
DbProviderFactory dbProviderFactory =
DbProviderFactories.GetFactory("System.Data.SqlClient");

using (DbConnection conn = dbProviderFactory.CreateConnection())
{
string s =
ConfigurationManager.ConnectionStrings["Events"].ConnectionString;
conn.ConnectionString = s;
conn.Open();

DbCommand cmd = conn.CreateCommand();
cmd.CommandText = "Select * from FixedHolidays Select * from
FloatingHolidays Select * from LostBoats Select * from Events";

DbDataAdapter dbAdapter = dbProviderFactory.CreateDataAdapter();
dbAdapter.SelectCommand = cmd;
dbAdapter.Fill(ds);

foreach (DataTable t in ds.Tables)
{
Console.WriteLine("Table " + t.TableName + " is in DataSet");
}
}


-----
Ron Harter | Tongue, Tied and Twisted
rdharter at (no spam) comcast.net | Just An Earthbound Misfit ... I
| Pink Floyd
 
sloan...
Posted: Wed Jul 01, 2009 2:24 pm
Guest
What happens when "Table1" is the result of a join Select

Example:
Select d.DeptID , d.DeptName , e.EmpID , e.LastName, e.FirstName
from
dbo.Dept d join dbo.Employee e on d.DeptID = e.DeptID


???
What should the table name be here?


Aka, you can't just assume a table name.
.............

Have you tried to create a (strong) (or typed) DataSet? And populate it?

PS
http://msdn.microsoft.com/en-us/library/bb748727.aspx


Microsoft.Practices.EnterpriseLibrary.Data.Database.LoadDataSet
provides a string array parameter to name your tables
Public Overridable Sub LoadDataSet ( _
storedProcedureName As String, _
dataSet As DataSet, _
tableNames As String(), _
ParamArray parameterValues As Object() _
)



public virtual void LoadDataSet (
string storedProcedureName,
DataSet dataSet,
string[] tableNames,
params Object[] parameterValues
)



If you have a strong dataset

Lets say my strong dataset is named MyStrongDS, with 2 tables.
Department
Employee

The code (partial code sample) would look like this:


MyStrongDS returnDS = new MyStrongDS();
db.LoadDataSet(dbc, returnDS, new String[] { "Department" ,
Employee" });

Actually, I prefer this (below)
This would avoid accidently giving a bad name via a string.


MyStrongDS returnDS = new MyStrongDS();
db.LoadDataSet(dbc, returnDS, new String[] {
returnDS.Department.TableName, returnDS.Employee.TableName });


If I ever remove or rename a table in MyStrongDataSet, the consequences show
up immediately when I try to build.





"Ron Harter" <rdharter at (no spam) comcast.net> wrote in message
news:DE925332-6F4C-4D09-8223-643C70C54DA3 at (no spam) microsoft.com...
Quote:

I have setup for select statements to retrieve data from 4 tables. When
all is said and done and I look for certain tables in the returned DataSet
I am unable to locate the table. When I dig into the DataSet I discovered
the 4 tables had names of table, table1, table2, and table3.

I expected VS2008 sp1 and SQL Server 2008 developers edition to return the
proper table name from the data base. Has anyone seen this problem? Is it
a problem? I am enclosing the code snippet

DataSet ds = new DataSet();
DbProviderFactory dbProviderFactory =
DbProviderFactories.GetFactory("System.Data.SqlClient");

using (DbConnection conn = dbProviderFactory.CreateConnection())
{
string s =
ConfigurationManager.ConnectionStrings["Events"].ConnectionString;
conn.ConnectionString = s;
conn.Open();

DbCommand cmd = conn.CreateCommand();
cmd.CommandText = "Select * from FixedHolidays Select * from
FloatingHolidays Select * from LostBoats Select * from Events";

DbDataAdapter dbAdapter = dbProviderFactory.CreateDataAdapter();
dbAdapter.SelectCommand = cmd;
dbAdapter.Fill(ds);

foreach (DataTable t in ds.Tables)
{
Console.WriteLine("Table " + t.TableName + " is in DataSet");
}
}


-----
Ron Harter | Tongue, Tied and Twisted
rdharter at (no spam) comcast.net | Just An Earthbound Misfit ... I
| Pink Floyd
 
Ron Harter...
Posted: Thu Jul 02, 2009 6:22 am
Guest
Thanks, the mappings worked perfectly.


"Cor Ligthert[MVP]" <Notmyfirstname at (no spam) planet.nl> wrote in message
news:uSgVsMh%23JHA.2120 at (no spam) TK2MSFTNGP02.phx.gbl...
Quote:
Hi Ron,

Have a look at mappings

http://msdn.microsoft.com/en-us/library/ks92fwwh.aspx

Cor


"Ron Harter" <rdharter at (no spam) comcast.net> wrote in message
news:DE925332-6F4C-4D09-8223-643C70C54DA3 at (no spam) microsoft.com...

I have setup for select statements to retrieve data from 4 tables. When
all is said and done and I look for certain tables in the returned
DataSet I am unable to locate the table. When I dig into the DataSet I
discovered the 4 tables had names of table, table1, table2, and table3.

I expected VS2008 sp1 and SQL Server 2008 developers edition to return
the proper table name from the data base. Has anyone seen this problem?
Is it a problem? I am enclosing the code snippet

DataSet ds = new DataSet();
DbProviderFactory dbProviderFactory =
DbProviderFactories.GetFactory("System.Data.SqlClient");

using (DbConnection conn = dbProviderFactory.CreateConnection())
{
string s =
ConfigurationManager.ConnectionStrings["Events"].ConnectionString;
conn.ConnectionString = s;
conn.Open();

DbCommand cmd = conn.CreateCommand();
cmd.CommandText = "Select * from FixedHolidays Select * from
FloatingHolidays Select * from LostBoats Select * from Events";

DbDataAdapter dbAdapter = dbProviderFactory.CreateDataAdapter();
dbAdapter.SelectCommand = cmd;
dbAdapter.Fill(ds);

foreach (DataTable t in ds.Tables)
{
Console.WriteLine("Table " + t.TableName + " is in DataSet");
}
}


-----
Ron Harter | Tongue, Tied and Twisted
rdharter at (no spam) comcast.net | Just An Earthbound Misfit ... I
| Pink Floyd


--

-----
Ron Harter | Tongue, Tied and Twisted
rdharter at (no spam) comcast.net | Just An Earthbound Misfit ... I
| Pink Floyd
 
 
Page 1 of 1    
All times are GMT - 5 Hours
The time now is Wed Dec 09, 2009 12:10 am