Click here to Skip to main content
15,892,161 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi everyone
I've had a problem. I want to know how to get a row from sqldatareader in 3-tier?
My code don't run. Could you tell me Why it isn't correct ?
this is my code:
DAL:
C#
public static SqlDataReader Clerk_Search(string name, string family, string melliCode)
        {
            SqlDataReader sqlDataReader;
            SqlCommand comm = new SqlCommand("Clerk_Search", Data_Access.conn);
            comm.CommandType = CommandType.StoredProcedure;
            comm.Parameters.AddWithValue("@clk_Name", name);
            comm.Parameters.AddWithValue("@clk_Family", family);
            comm.Parameters.AddWithValue("@clk_MeliCod", melliCode);
            conn.Open();
            sqlDataReader = comm.ExecuteReader();
            conn.Close();
            return sqlDataReader;


        }

BL:

C#
static public System.Data.SqlClient.SqlDataReader   Clerk_Search(string name, string family, string meliCode)
       {
           System.Data.SqlClient.SqlDataReader sqlDataReader;
         sqlDataReader = Data_Access.Clerk_Search(name, family, meliCode);
         return sqlDataReader;


       }


UI
C#
private void Clerk_Search_Click(object sender, EventArgs e)
        {
            //System.Data.SqlClient.SqlDataReader sqlDataReader;
           
           
                System.Data.SqlClient.SqlDataReader red;
                red = Business.Clerk_Search(txtNameClerk.Text.Trim(), txtFamilyClerk.Text.Trim(), txtShomarehyeMeliClerk.Text.Trim());
                txtClerkId.Text = red["clk_Id"].ToString();
          
        }
Posted
Updated 31-Jul-13 0:08am
v2
Comments
[no name] 31-Jul-13 5:58am    
If your "code don't run" then you need to debug it and figure out the problem. Or, at the very least, tell us was "code don't run" actually means.

1 solution

C#
BL:
static public string Clerk_Search(string name, string family, string meliCode)
{
System.Data.SqlClient.SqlDataReader sqlDataReader;
sqlDataReader = Data_Access.Clerk_Search(name, family, meliCode);

//you shoud read data here using 
//this will read one line 
sqlDataReader.Read();

//know assing data to string for example

string str=sqlDataReader["name"].ToString();
str+=":"+sqlDataReader["family"].ToString();
str+=":"+sqlDataReader["meliCode"].ToString();

//and recieve str at UI and split string with : and get required data

return str;
}



or in

C#
UI
private void Clerk_Search_Click(object sender, EventArgs e)
{
//System.Data.SqlClient.SqlDataReader sqlDataReader;


System.Data.SqlClient.SqlDataReader red;
red = Business.Clerk_Search(txtNameClerk.Text.Trim(), txtFamilyClerk.Text.Trim(), txtShomarehyeMeliClerk.Text.Trim());

red.Read();

if(red.HasRow)
{

   txtClerkId.Text = red["clk_Id"].ToString(); 
}
 
Share this answer
 
v2
Comments
Elham.Deljooei 4-Aug-13 8:48am    
Hi Friend,
I've done second solution but i give an error.
MuhammadUSman1 6-Aug-13 3:59am    
Which error you got. please post here.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900