HighTechTalks DotNet Forums  

DataTable foreign key

Dotnet Framework (ADO.net) microsoft.public.dotnet.framework.adonet


Discuss DataTable foreign key in the Dotnet Framework (ADO.net) forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
Emre DİNÇER
 
Posts: n/a

Default DataTable foreign key - 11-26-2007 , 07:52 AM






Dear All,
is it possible to extract the DataColumn which is a foreign key of another
table.

foreach (DataRelation dr in dsIlce.Tables[0].ParentRelations) {

Console.WriteLine("123");

console.WriteLine(dr.ParentTable.TableName.ToStrin g());

}

prints nothing unfortunately..



thanks in advance

emre dincer



Reply With Quote
  #2  
Old   
MrSmersh
 
Posts: n/a

Default RE: DataTable foreign key - 11-26-2007 , 09:58 AM






Try the sample you find here:
http://msdn2.microsoft.com/en-US/lib...relations.aspx

"Emre DÃNÇER" wrote:

Quote:
Dear All,
is it possible to extract the DataColumn which is a foreign key of another
table.

foreach (DataRelation dr in dsIlce.Tables[0].ParentRelations) {

Console.WriteLine("123");

console.WriteLine(dr.ParentTable.TableName.ToStrin g());

}

prints nothing unfortunately..



thanks in advance

emre dincer




Reply With Quote
  #3  
Old   
Emre DİNÇER
 
Posts: n/a

Default Re: DataTable foreign key - 11-28-2007 , 05:10 AM



actually i think i was unable to clarify my problem,
the situation is the dataTable belongs to a single table and the DataSet
class does not any
DataRelation object , what i am trying to do is to realize the foreign key
relationship at runtime.
that is i can not utilize DataRelation property.
i think i need another option to realize that a column represents a foreign
key
thanks in advance.
emre dincer
"MrSmersh" <MrSmersh (AT) discussions (DOT) microsoft.com> wrote

Quote:
Try the sample you find here:
http://msdn2.microsoft.com/en-US/lib...relations.aspx

"Emre DYNÇER" wrote:

Dear All,
is it possible to extract the DataColumn which is a foreign key of
another
table.

foreach (DataRelation dr in dsIlce.Tables[0].ParentRelations) {

Console.WriteLine("123");

console.WriteLine(dr.ParentTable.TableName.ToStrin g());

}

prints nothing unfortunately..



thanks in advance

emre dincer






Reply With Quote
  #4  
Old   
MrSmersh
 
Posts: n/a

Default Re: DataTable foreign key - 11-28-2007 , 06:01 AM



I'm afraid that I do not understand now...
Could you please explain again what you are trying to do?

"Emre DÃNÇER" wrote:

Quote:
actually i think i was unable to clarify my problem,
the situation is the dataTable belongs to a single table and the DataSet
class does not any
DataRelation object , what i am trying to do is to realize the foreign key
relationship at runtime.
that is i can not utilize DataRelation property.
i think i need another option to realize that a column represents a foreign
key
thanks in advance.
emre dincer
"MrSmersh" <MrSmersh (AT) discussions (DOT) microsoft.com> wrote in message
news:F83BF6D0-BFBF-4F72-9AC5-510F41236EA5 (AT) microsoft (DOT) com...
Try the sample you find here:
http://msdn2.microsoft.com/en-US/lib...relations.aspx

"Emre DYNÇER" wrote:

Dear All,
is it possible to extract the DataColumn which is a foreign key of
another
table.

foreach (DataRelation dr in dsIlce.Tables[0].ParentRelations) {

Console.WriteLine("123");

console.WriteLine(dr.ParentTable.TableName.ToStrin g());

}

prints nothing unfortunately..



thanks in advance

emre dincer







Reply With Quote
  #5  
Old   
Emre DİNÇER
 
Posts: n/a

Default Re: DataTable foreign key - 11-28-2007 , 07:14 AM



Thanks for your interest.
What i am trying to say is I dont declare any DataRelation object at design
time
and at runtime i have the instance of the DataSet , with these at hand , i
want to catch if one of the columns of datatable of the dataset is a foreign
key of another table.
DSCities dc=new DSCities(); //the dataset for the CitiesTable




"MrSmersh" <MrSmersh (AT) discussions (DOT) microsoft.com> wrote

Quote:
I'm afraid that I do not understand now...
Could you please explain again what you are trying to do?
foreach (DataColumn dc in dc.Tables[0]) {
//want to realize if the column is a FK...
}
best regards
emre
Quote:
"Emre DYNÇER" wrote:

actually i think i was unable to clarify my problem,
the situation is the dataTable belongs to a single table and the DataSet
class does not any
DataRelation object , what i am trying to do is to realize the foreign
key
relationship at runtime.
that is i can not utilize DataRelation property.
i think i need another option to realize that a column represents a
foreign
key
thanks in advance.
emre dincer
"MrSmersh" <MrSmersh (AT) discussions (DOT) microsoft.com> wrote in message
news:F83BF6D0-BFBF-4F72-9AC5-510F41236EA5 (AT) microsoft (DOT) com...
Try the sample you find here:
http://msdn2.microsoft.com/en-US/lib...relations.aspx

"Emre DYNÇER" wrote:

Dear All,
is it possible to extract the DataColumn which is a foreign key of
another
table.

foreach (DataRelation dr in dsIlce.Tables[0].ParentRelations) {

Console.WriteLine("123");

console.WriteLine(dr.ParentTable.TableName.ToStrin g());

}

prints nothing unfortunately..



thanks in advance

emre dincer









Reply With Quote
  #6  
Old   
MrSmersh
 
Posts: n/a

Default Re: DataTable foreign key - 11-28-2007 , 09:44 AM



OK, I now understand even less.
How do you “fill†the dataset?
If the database used is SQL Server ADO.Net is able to give you catalog
information’s, hence a dataset with a corresponding structure, all this at
runtime. Otherwise what you put into the dataset you will have.


"Emre DÃNÇER" wrote:

Quote:
Thanks for your interest.
What i am trying to say is I dont declare any DataRelation object at design
time
and at runtime i have the instance of the DataSet , with these at hand , i
want to catch if one of the columns of datatable of the dataset is a foreign
key of another table.
DSCities dc=new DSCities(); //the dataset for the CitiesTable




"MrSmersh" <MrSmersh (AT) discussions (DOT) microsoft.com> wrote in message
news:52B01D15-F793-4353-A32E-F624190134DA (AT) microsoft (DOT) com...
I'm afraid that I do not understand now...
Could you please explain again what you are trying to do?
foreach (DataColumn dc in dc.Tables[0]) {
//want to realize if the column is a FK...
}
best regards
emre

"Emre DYNÇER" wrote:

actually i think i was unable to clarify my problem,
the situation is the dataTable belongs to a single table and the DataSet
class does not any
DataRelation object , what i am trying to do is to realize the foreign
key
relationship at runtime.
that is i can not utilize DataRelation property.
i think i need another option to realize that a column represents a
foreign
key
thanks in advance.
emre dincer
"MrSmersh" <MrSmersh (AT) discussions (DOT) microsoft.com> wrote in message
news:F83BF6D0-BFBF-4F72-9AC5-510F41236EA5 (AT) microsoft (DOT) com...
Try the sample you find here:
http://msdn2.microsoft.com/en-US/lib...relations.aspx

"Emre DYNÇER" wrote:

Dear All,
is it possible to extract the DataColumn which is a foreign key of
another
table.

foreach (DataRelation dr in dsIlce.Tables[0].ParentRelations) {

Console.WriteLine("123");

console.WriteLine(dr.ParentTable.TableName.ToStrin g());

}

prints nothing unfortunately..



thanks in advance

emre dincer










Reply With Quote
  #7  
Old   
Emre DİNÇER
 
Posts: n/a

Default Re: DataTable foreign key - 11-29-2007 , 08:39 AM



Hello Again,

i fill the ds in the following manner.





public DataSet VeriGetir(string ssql,string sTableName,bool bFillSchema)

{

OpenConnection();

SqlDataAdapter da = new SqlDataAdapter(ssql, mConnection);

try

{

DataSet ds = new DataSet();

if (mIsTransactional)

da.SelectCommand.Transaction = mTransaction;

if (bFillSchema)

da.FillSchema(ds, SchemaType.Source, sTableName);

da.Fill(ds, sTableName);

return ds;

}

catch (Exception ex)

{

HataLogla(ex,ssql);

throw (ex);

}

finally

{

CloseConnection();

}

}

"MrSmersh" <MrSmersh (AT) discussions (DOT) microsoft.com> wrote

Quote:
OK, I now understand even less.
How do you "fill" the dataset?
If the database used is SQL Server ADO.Net is able to give you catalog
information's, hence a dataset with a corresponding structure, all this at
runtime. Otherwise what you put into the dataset you will have.


"Emre DYNÇER" wrote:

Thanks for your interest.
What i am trying to say is I dont declare any DataRelation object at
design
time
and at runtime i have the instance of the DataSet , with these at hand ,
i
want to catch if one of the columns of datatable of the dataset is a
foreign
key of another table.
DSCities dc=new DSCities(); //the dataset for the CitiesTable




"MrSmersh" <MrSmersh (AT) discussions (DOT) microsoft.com> wrote in message
news:52B01D15-F793-4353-A32E-F624190134DA (AT) microsoft (DOT) com...
I'm afraid that I do not understand now...
Could you please explain again what you are trying to do?
foreach (DataColumn dc in dc.Tables[0]) {
//want to realize if the column is a FK...
}
best regards
emre

"Emre DYNÇER" wrote:

actually i think i was unable to clarify my problem,
the situation is the dataTable belongs to a single table and the
DataSet
class does not any
DataRelation object , what i am trying to do is to realize the foreign
key
relationship at runtime.
that is i can not utilize DataRelation property.
i think i need another option to realize that a column represents a
foreign
key
thanks in advance.
emre dincer
"MrSmersh" <MrSmersh (AT) discussions (DOT) microsoft.com> wrote in message
news:F83BF6D0-BFBF-4F72-9AC5-510F41236EA5 (AT) microsoft (DOT) com...
Try the sample you find here:
http://msdn2.microsoft.com/en-US/lib...relations.aspx

"Emre DYNÇER" wrote:

Dear All,
is it possible to extract the DataColumn which is a foreign key of
another
table.

foreach (DataRelation dr in dsIlce.Tables[0].ParentRelations) {

Console.WriteLine("123");

console.WriteLine(dr.ParentTable.TableName.ToStrin g());

}

prints nothing unfortunately..



thanks in advance

emre dincer












Reply With Quote
  #8  
Old   
MrSmersh
 
Posts: n/a

Default Re: DataTable foreign key - 11-29-2007 , 03:23 PM



OK I must recognize that I said something stupid, ADO.Net does not fill the
relations info.
Mea culpa X3.
You have 2 workarounds use OleDBConnection as shown here OleDBConnection
http://weblogs.asp.net/rosherove/arc...6/29/9542.aspx or fill the
dataset as now and add the missing relations using the catalog stored
procedure (for SQL Server other databases uses catalog tables) sp_fkeys.


"Emre DÃNÇER" wrote:

Quote:
Hello Again,

i fill the ds in the following manner.





public DataSet VeriGetir(string ssql,string sTableName,bool bFillSchema)

{

OpenConnection();

SqlDataAdapter da = new SqlDataAdapter(ssql, mConnection);

try

{

DataSet ds = new DataSet();

if (mIsTransactional)

da.SelectCommand.Transaction = mTransaction;

if (bFillSchema)

da.FillSchema(ds, SchemaType.Source, sTableName);

da.Fill(ds, sTableName);

return ds;

}

catch (Exception ex)

{

HataLogla(ex,ssql);

throw (ex);

}

finally

{

CloseConnection();

}

}

"MrSmersh" <MrSmersh (AT) discussions (DOT) microsoft.com> wrote in message
news:B627E65E-E904-4A82-8065-DCADD2CF5425 (AT) microsoft (DOT) com...
OK, I now understand even less.
How do you "fill" the dataset?
If the database used is SQL Server ADO.Net is able to give you catalog
information's, hence a dataset with a corresponding structure, all this at
runtime. Otherwise what you put into the dataset you will have.


"Emre DYNÇER" wrote:

Thanks for your interest.
What i am trying to say is I dont declare any DataRelation object at
design
time
and at runtime i have the instance of the DataSet , with these at hand ,
i
want to catch if one of the columns of datatable of the dataset is a
foreign
key of another table.
DSCities dc=new DSCities(); //the dataset for the CitiesTable




"MrSmersh" <MrSmersh (AT) discussions (DOT) microsoft.com> wrote in message
news:52B01D15-F793-4353-A32E-F624190134DA (AT) microsoft (DOT) com...
I'm afraid that I do not understand now...
Could you please explain again what you are trying to do?
foreach (DataColumn dc in dc.Tables[0]) {
//want to realize if the column is a FK...
}
best regards
emre

"Emre DYNÇER" wrote:

actually i think i was unable to clarify my problem,
the situation is the dataTable belongs to a single table and the
DataSet
class does not any
DataRelation object , what i am trying to do is to realize the foreign
key
relationship at runtime.
that is i can not utilize DataRelation property.
i think i need another option to realize that a column represents a
foreign
key
thanks in advance.
emre dincer
"MrSmersh" <MrSmersh (AT) discussions (DOT) microsoft.com> wrote in message
news:F83BF6D0-BFBF-4F72-9AC5-510F41236EA5 (AT) microsoft (DOT) com...
Try the sample you find here:
http://msdn2.microsoft.com/en-US/lib...relations.aspx

"Emre DYNÇER" wrote:

Dear All,
is it possible to extract the DataColumn which is a foreign key of
another
table.

foreach (DataRelation dr in dsIlce.Tables[0].ParentRelations) {

Console.WriteLine("123");

console.WriteLine(dr.ParentTable.TableName.ToStrin g());

}

prints nothing unfortunately..



thanks in advance

emre dincer













Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.