How can I find a DataRow in a DataSet by it's PrimaryKey value? This
would be similar to an SQL statement such as "SELECT * FROM MyTable
WHERE MyIndex = 2"...
In the following code I've tried to do this but "dataSet-
>Tables["GpsData"]->Rows->Find" returns a nullptr every time...
/* C++/CLI Code Sample (doesn't work) */
cli::array<System::Data::DataColumn ^> ^colarray =
gcnew cli::array<System::Data::DataColumn ^>(1);
colarray[0] =
dataSet->Tables["GpsData"]->Columns["Distance"];
dataSet->Tables["GpsData"]->PrimaryKey =
colarray;
DataRow ^drow =
dataSet->Tables["GpsData"]->Rows->Find(
dataSet->Tables["CisData"]->Rows[i]["GpsIndexFK"]
);
if(drow != nullptr)
System::Windows::Forms::MessageBox::Show(
safe_cast<Int32 ^>(drow["Index"])->ToString()
);
Carl Daniel [VC++ MVP] - 03 Jan 2008 21:38 GMT
> How can I find a DataRow in a DataSet by it's PrimaryKey value? This
> would be similar to an SQL statement such as "SELECT * FROM MyTable
> WHERE MyIndex = 2"...
Use DataTable.Select - you can pass a filter string (basically, the
expression from the Where clause of your SQL) to select the rows you want.
You'll get back an array of DataRows.
-cd
google@robertbennett.us - 04 Jan 2008 14:43 GMT
On Jan 3, 4:38 pm, "Carl Daniel [VC++ MVP]"
<cpdaniel_remove_this_and_nos...@mvps.org.nospam> wrote:
> goo...@robertbennett.us wrote:
> > How can I find a DataRow in a DataSet by it's PrimaryKey value? This
[quoted text clipped - 6 lines]
>
> -cd
You're a life saver. I'd actually already wrote a function to scan a
column for a value because I hadn't realized this method existed.
Thanks