Solved

Retrieve one specific record in C#

Posted on 2011-03-24
8
394 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
 

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
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
JSON is being used more and more, besides XML, and you surely wanted to parse the data out into SQL instead of doing it in some Javascript. The below function in SQL Server can do the job for you, returning a quick table with the parsed data.
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.
Viewers will learn how to use the INSERT statement to insert data into their tables. It will also introduce the NULL statement, to show them what happens when no value is giving for any given column.

743 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now