>using System; >using System.Data; >using System.Data.OleDb; > >namespace SeekTest >{ > class Program > { > static void Main() > { > DataTable myDataTable = GetMyData(); > DataRow seekRow; > myDataTable.CaseSensitive = false; > > seekRow = mySeek(myDataTable, "cust_id", "ANATR"); > if (seekRow != null) > { > Console.WriteLine(seekRow["company"]); > } > if (myDataTable.Rows.Contains("bonap")) > { > Console.WriteLine("BONAP exists. Contact is:{0}", > myDataTable.Rows.Find("bonap")["Contact"]); > } > > seekRow = mySeek(myDataTable, > new string[] { "company", "country" }, > new object[] { "The Cracker Box", "USA" }); > if (seekRow != null) > { > Console.WriteLine("{0},{1},{2}", > seekRow["company"], > seekRow["cust_id"], > seekRow["country"]); > } > } > > static DataRow mySeek(DataTable dt, string searchColumn, object valueToSearch) > { > dt.PrimaryKey = new DataColumn[] { dt.Columns[searchColumn] }; > return dt.Rows.Find(valueToSearch); > } > > static DataRow mySeek(DataTable dt, string[] searchColumns, object[] valuesToSearch) > { > DataColumn[] keys = new DataColumn[searchColumns.Length]; > for (int i = 0; i < searchColumns.Length; i++) > { > keys[i] = dt.Columns[searchColumns[i]]; > } > dt.PrimaryKey = keys; > return dt.Rows.Find(valuesToSearch); > } > > static DataTable GetMyData() > { > string strConn = @"Provider=VFPOLEDB;Data source= >C:\Program Files\Microsoft Visual FoxPro 9\Samples\Data\testdata.dbc;"; > string strQuery = "select * from customer"; > DataTable dt = new DataTable(); > > using (OleDbConnection cn = new OleDbConnection(strConn)) > { > cn.Open(); > OleDbCommand cmd = new OleDbCommand(strQuery, cn); > OleDbDataReader rdr = cmd.ExecuteReader(); > dt.Load(rdr); > rdr.Close(); > } > return dt; > } > } >} >>Cetin
>> >> SrcDataAdapter.Fill(SrcDataSet,"customer"); >> >> DataView myDataView = new DataView(SrcDataSet.Tables[0]); >> >> myDataView.RowFilter = "cust_id = '10001'"; >> >> int ncnt = myDataView.Count; >> >>>>
>>>>i=1 >>>>DO WHILE SEEK(i, 'testTbl', 'testInx') >>>> i = i + 1 >>>>ENDDO >>>> >>>>RETURN i >>>>>>>>
>>>private int fubar() >>>{ >>> int i = 1; >>> while (SEEK(i, "testTbl", "testInx")) >>> { >>> i++; >>> } >>> return i; >>>} >>>