Another ancient oddity in .net
-
A Row may be a record, but a (logical) Record may comprise several Rows across several tables. It's like atoms (rows) and molecules (records). So, DataTables use DataRows, excellent. System.Data.DataRow System.Data.DataRowView System.Data.DataTable.Rows System.Data.DataTable.NewRow System.Data.DataView.RowFilter But why, then, is a System.Data.IDataReader a System.Data.IDataRecord ? Which is illogical. Why not System.Data.IDataRow ?
-
A Row may be a record, but a (logical) Record may comprise several Rows across several tables. It's like atoms (rows) and molecules (records). So, DataTables use DataRows, excellent. System.Data.DataRow System.Data.DataRowView System.Data.DataTable.Rows System.Data.DataTable.NewRow System.Data.DataView.RowFilter But why, then, is a System.Data.IDataReader a System.Data.IDataRecord ? Which is illogical. Why not System.Data.IDataRow ?
It has been a long time since I've touched that corner of .NET but I seem to remember that the IDataRow exists somewhere and has things like events on it or otherwise at least things that IDataRecord can't do, and maybe, if memory serves, IDataRecord accesses things closer to the metal (using raw DB types and such) than IDataRow.
To err is human. Fortune favors the monsters.
-
A Row may be a record, but a (logical) Record may comprise several Rows across several tables. It's like atoms (rows) and molecules (records). So, DataTables use DataRows, excellent. System.Data.DataRow System.Data.DataRowView System.Data.DataTable.Rows System.Data.DataTable.NewRow System.Data.DataView.RowFilter But why, then, is a System.Data.IDataReader a System.Data.IDataRecord ? Which is illogical. Why not System.Data.IDataRow ?
imho such "genomic duplication" reflects the bumpy evolution of so-called "computer languages," as language implementers seek to broaden usage by incorporating familiar semantics ... at the cost of semantic consistency. imho, "Where" in Linq is a good example: what it actually does is select; while Linq "Select" really means transform. But, those semantic choices were consistent with what SQL users were familiar with. If you disagree, please enlighten me: I never had any depth experience with SQL. cheers, Bill
«The mind is not a vessel to be filled but a fire to be kindled» Plutarch
-
A Row may be a record, but a (logical) Record may comprise several Rows across several tables. It's like atoms (rows) and molecules (records). So, DataTables use DataRows, excellent. System.Data.DataRow System.Data.DataRowView System.Data.DataTable.Rows System.Data.DataTable.NewRow System.Data.DataView.RowFilter But why, then, is a System.Data.IDataReader a System.Data.IDataRecord ? Which is illogical. Why not System.Data.IDataRow ?
Don't ask MS "why you give this name?" :) MS always fail here (like naming responsibility were given to mexican hobo). Add here that .NET itself is a "renamed Java" with appropriate legacy. And only years later MS made .NET "as it should be", but legacy classes still here. That's why we have Array completely incompatible with simple List<>. Don't ask, just ignore. :)
-
A Row may be a record, but a (logical) Record may comprise several Rows across several tables. It's like atoms (rows) and molecules (records). So, DataTables use DataRows, excellent. System.Data.DataRow System.Data.DataRowView System.Data.DataTable.Rows System.Data.DataTable.NewRow System.Data.DataView.RowFilter But why, then, is a System.Data.IDataReader a System.Data.IDataRecord ? Which is illogical. Why not System.Data.IDataRow ?
-
DataRows are related to the tabular nature of a DataGridView and don't have to be backed by a database. DataRecords are related to actual database records.
obermd wrote:
DataRecords are related to actual database records.
Not necessarily.
-
Don't ask MS "why you give this name?" :) MS always fail here (like naming responsibility were given to mexican hobo). Add here that .NET itself is a "renamed Java" with appropriate legacy. And only years later MS made .NET "as it should be", but legacy classes still here. That's why we have Array completely incompatible with simple List<>. Don't ask, just ignore. :)
This could have been answer without naming any nationality.
-
This could have been answer without naming any nationality.
-
Why not? Or you SCARED to say anything w/o government approval? Sorry, but I don't play this "tolerant games".
I'm lucky to live in a country where I can say pretty much what I want without the government coming after me. I'm also lucky enough to be in a position where I don't need to diminish anyone to feel that I'm better.
-
I'm lucky to live in a country where I can say pretty much what I want without the government coming after me. I'm also lucky enough to be in a position where I don't need to diminish anyone to feel that I'm better.
-
A Row may be a record, but a (logical) Record may comprise several Rows across several tables. It's like atoms (rows) and molecules (records). So, DataTables use DataRows, excellent. System.Data.DataRow System.Data.DataRowView System.Data.DataTable.Rows System.Data.DataTable.NewRow System.Data.DataView.RowFilter But why, then, is a System.Data.IDataReader a System.Data.IDataRecord ? Which is illogical. Why not System.Data.IDataRow ?
A DataReader is "forward reading" only. "Rows" have never been part of the nomenclature associated with sequential data sets (i.e. records; record set). Rows can be usually be [indexed]; "records" rarely, unless they're fixed length (it's usually a positioning; then a read). DataReader.HasRows throws it all out the window; of course.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
-
Very right now you try to diminish me to feel higher than me. Because by some reason you think I offended somebody. Elaborate HOW, please??
Nobody needs to try to diminish you. Your ability to write in English (or, really, the lack thereof) does that quite happily, all by itself.
-
Very right now you try to diminish me to feel higher than me. Because by some reason you think I offended somebody. Elaborate HOW, please??
-
Nobody needs to try to diminish you. Your ability to write in English (or, really, the lack thereof) does that quite happily, all by itself.
Your reply is just proof you're dumb young sh.... who tries to diminish people just to feel better (because in reality you're nothing). English is my SECONDARY language and as a secondary it's more than good. But main point is you're so miserable that knowing nothing about me all you could say is "your english is bad". Yep, I know! When pathetic people try to offend me, they use my English level. :) Enough said, dumb! You're not interesting anymore, get lost.
-
Well you've potentially offended hobos, Mexican's, and Mexican hobos. As a hobo myself I am very offended.
-
Your reply is just proof you're dumb young sh.... who tries to diminish people just to feel better (because in reality you're nothing). English is my SECONDARY language and as a secondary it's more than good. But main point is you're so miserable that knowing nothing about me all you could say is "your english is bad". Yep, I know! When pathetic people try to offend me, they use my English level. :) Enough said, dumb! You're not interesting anymore, get lost.
Oh well. Thanks for calling me young, though. At 56, having been programming for 43 years, I find it quite invigorating when idiots make assumptions. But at least you've got proof.
-
As a monkey who permanently offended on everything, you need some help - suck smth for example.
-
Very right now you try to diminish me to feel higher than me. Because by some reason you think I offended somebody. Elaborate HOW, please??
You really need some mental gymnastic to read my message and think that I'm trying to diminish you. I am not the one inserting some nationality (Mexican in your case) followed by a derogatory term (hobo) to say something is bad. I was not offended, I just said that the message could have been answered without inserting any nationality. I don't get offended by random people on Internet, I would be a very bitter person if I did. But I also tend to think that bigots are usually not the smartest people in the planet. That being said, I'm not interested in wasting more time responding to someone that is showing your kind of behaviour, I have better things to do with my life. Hasta la vista Thornik.