2013-11-08 3 views
0

Я пытаюсь добавить пользовательский пейджинг, и когда я вхожу в систему через имя пользователя и пароль, возникает ошибка , и я также показываю документы только для своих документов, например, когда abc является логином, а abc может просматривать документы ... но когда я добавить пользовательские подкачки это показать мне UserID ошибки не supplid и я ASO доля зр кодстраница сортировка в asp.net

код

protected void BindRepeater() 
    { 
     SqlConnection con = new   
      SqlConnection(ConfigurationManager.ConnectionStrings["mydms"]. 
      ConnectionString.ToString()); 
     SqlCommand cmd = new SqlCommand("sphrdoc2", con); 
     if (con.State == ConnectionState.Closed) 
     { 
      con.Open(); 
     } 
     DataTable dt = new DataTable(); 
     SqlDataAdapter adp = new SqlDataAdapter(cmd); 
     adp.Fill(dt); 
     PagedDataSource pgitems = new PagedDataSource(); 
     DataView dv = new DataView(dt); 

в этой линии

adp.Fill(dt); 
Ошибка

Процедура или функция 'sphrdoc2' ожидает параметра '@UserID', который не был указан.

зр является

ALTER procedure [dbo].[sphrdoc2] 

    @UserID int 
    as 
    Select 
    dbo.DocumentInfo.DocID as DocumentID, 
    dbo.DocumentInfo.DocName as DocumentName, 

    dbo.DocType.DocType as Document, 

    dbo.Department.DepType as Department, 
    dbo.DocumentInfo.Uploadfile as FileUploaded, 
    dbo.ApproveType.ApproveType AS Status 

    FROM 
    dbo.DocumentInfo 
    inner JOIN dbo.DocType ON dbo.DocumentInfo.DocTypeID=dbo.DocType.DocTypeID 
    inner JOIN dbo.Department ON dbo.DocumentInfo.DepID=dbo.Department.DepID 
    left join dbo.ApproveType on dbo.DocumentInfo.ApproveID=dbo.ApproveType.ApproveID 
     where [email protected] 

любое одно сказать мне, где я сделал ошибку в коде повторителя?

+1

Давайте посмотрим ... возможно, вы забыли передать параметр '@ userID'? – mellamokb

+0

Привет, когда вы называете эту процедуру? передаете ли вы параметр? dont забудьте использовать тот же тип параметра – Ryuzaki

+0

Я вызываю процедуру хранилища в этом SqlCommand cmd = new SqlCommand ("sphrdoc2", con); – user2931015

ответ

2

Вам необходимо передать параметры для хранимой процедуры.

SqlCommand cmd = new SqlCommand("sphrdoc2", con); 
    cmd.Parameters.AddWithValue("@UserID","YourUserID"); 
     if (con.State == ConnectionState.Closed) 
     { 
      con.Open(); 
     } 
     DataTable dt = new DataTable(); 
     SqlDataAdapter adp = new SqlDataAdapter(cmd); 
     adp.Fill(dt); 
+0

что я пишу вместо «YourUserID» ??? – user2931015

+0

@ user2931015 Ваш userId, который вы сохранили в переменной сеанса или может находиться в Querystring –

+0

i done использовать querystring i использовать сеанс, подобный этому int user_id = Convert.ToInt16 (aa.sppplogin (txt_username.Value, txt_pass.Value)); Сессия ["UserID"] = user_id; if (Session ["UserID"]! = Null) { user_id = Convert.ToInt32 (Session ["UserID"]. ToString()); } – user2931015

Смежные вопросы