Solved

Retrieve one specific record in C#

Posted on 2011-03-24
8
398 Views
Last Modified: 2012-05-11
The first part of the attached code works and finds a random RecordId.  I also need the EmployeeId.  Since there is only one EmpId for each RcdId, I'm trying to find code to retrieve one record with a RecId of txtRcdId (which is the end result of the code).  
I added the last 2 lines to try and accomplish this but I get the error...
   'Randomizer.TimeClockPlusDataContext' does not contain a definition for 'Tables' and no    
   extension method 'Tables' accepting a first argument of  
   type 'Randomizer.TimeClockPlusDataContext' could be found (are you missing a using
   directive or an assembly reference?)      
I 'm really new to C# and could really use some detailed help.  My environment is Visual Studio, the language is C# and I'm attached to a SQL Server db.
 
//This works...
 var dbTimeClockPlus = new TimeClockPlusDataContext();
            var SearchInfo = (from c in dbTimeClockPlus.EmployeeLists where c.Suspend == false select c.RecordId).FirstOrDefault();
            Random r = new Random();
            int RcdId = SearchInfo == 0 ? 1 : SearchInfo;
            RcdId = r.Next(1, RcdId);
            txtRcdId.Text = Convert.ToString(RcdId);

//This part does not work...
            DataRow[] returnedRows;
            returnedRows = dbTimeClockPlus.Tables["EmployeeLists"].Select(txtRcdId);

Open in new window

0
Comment
Question by:BobRosas
  • 4
  • 4
8 Comments
 
LVL 14

Expert Comment

by:systan
ID: 35208763
DataRow[] returnedRows;
            returnedRows[1] = dbTimeClockPlus.Tables["EmployeeLists"].Select(txtRcdId);
0
 

Author Comment

by:BobRosas
ID: 35208989
Thank you for your quick response!
I tried your suggestion but still get the same error.  Am I missing a definition somewhere.  I read that sometimes when you get this error it's because you need...
     using System.Linq;
but I have that.  Maybe I'm missing something else?  This is a newly set up form so maybe I'm missing something basic?  
0
 
LVL 14

Expert Comment

by:systan
ID: 35209110
yes_its_a_linQ_usage;

did_you_try;
DataRow returnedRows = dbTimeClockPlus.Tables["EmployeeLists"].Select(txtRcdId);
or
DataRow[] returnedRows;
returnedRows[0] = dbTimeClockPlus.Tables["EmployeeLists"].Select(txtRcdId);
0
Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

 

Author Comment

by:BobRosas
ID: 35209206
I was doing the 2nd way you listed.  So I just tried the 1st way.  They are both giving me the same error.
0
 
LVL 14

Expert Comment

by:systan
ID: 35209308
if_youve_tried_this_?,
DataRow returnedRows = dbTimeClockPlus.Tables["EmployeeLists"].Select(txtRcdId);

then
there's_a_wrong_in_your_firsts_lines;
//This works...
 var dbTimeClockPlus = new TimeClockPlusDataContext();
            var SearchInfo = (from c in dbTimeClockPlus.EmployeeLists where c.Suspend == false select c.RecordId).FirstOrDefault();
            Random r = new Random();
            int RcdId = SearchInfo == 0 ? 1 : SearchInfo;
            RcdId = r.Next(1, RcdId);
            txtRcdId.Text = Convert.ToString(RcdId);

that_if_your_sure_about;
dbTimeClockPlus.Tables["EmployeeLists"].Select(txtRcdId);
0
 

Author Comment

by:BobRosas
ID: 35209458
I'm not sure what I'm looking for.  If I run the following code all by itself...
           var dbTimeClockPlus = new TimeClockPlusDataContext();
           var SearchInfo = (from c in dbTimeClockPlus.EmployeeLists  where c.Suspend == false select c.RecordId).FirstOrDefault();
            Random r = new Random();
            int RcdId = SearchInfo == 0 ? 1 : SearchInfo;
            RcdId = r.Next(1, RcdId);
            txtRcdId.Text = Convert.ToString(RcdId);

Then my form displays, I press the button and a random RcdId appear in my text box.

If I add this code to the above code...
          DataRow[] returnedRows;
          returnedRows[0] = dbTimeClockPlus.Tables["EmployeeLists"].Select(txtRcdId);
I get the above error.

If I add just this one line of code instead of the 2 right above....
           DataRow returnedRows = dbTimeClockPlus.Tables["EmployeeLists"].Select(txtRcdId);
I still get the same error.
0
 
LVL 14

Accepted Solution

by:
systan earned 125 total points
ID: 35209633
>>random RcdId appear in my text box

I_think_you_want;
returnedRows.Add
or
a_collection_of_rows?

please_see_the_links;
http://msdn.microsoft.com/en-us/library/system.data.datarowview%28v=VS.80%29.aspx
http://msdn.microsoft.com/en-us/library/system.data.datarowcollection%28v=VS.80%29.aspx
0
 

Author Closing Comment

by:BobRosas
ID: 35209979
Thank you for your time and the links.  Neither one of them look like they can take the result of what I have and display another field from the same record but I do apprecaite you trying and I can try posting another question.  Thanks again!
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
Via a live example, show how to backup a database, simulate a failure backup the tail of the database transaction log and perform the restore.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question