2009-02-13 82 views
0

有人請通過調用此代碼來幫助我。當我通過存儲過程調用檢索登錄值時,出現此錯誤消息「過程或函數'GetUserLogin'期望參數'@UserName',那是不供給的。」 這裏是我的代碼:在存儲過程視圖數據需要幫助

public int GetLogin(string UserName, string Password) 
    { 
     SqlConnection con = new SqlConnection(str);  
     SqlDataAdapter da = new SqlDataAdapter("GetUserLogin", con); 
     SqlCommand com = new SqlCommand("GetUserLogin",con);  
     com.CommandType = CommandType.StoredProcedure; 
     DataSet ds = new DataSet(); 
     da.Fill(ds); 
     if (ds.Tables[0].Rows.Count > 0) 
     { 
      if ((ds.Tables[0].Rows[0].ItemArray[1].ToString() == UserName) && (ds.Tables[0].Rows[0].ItemArray[2].ToString() == Password)) 
      { 
       return 1; 
      } 
      else 
      { 
       return 0; 
      } 
     } 
     else 
     { 
      return -1; 
     } 
StoredProcedure: 
CREATE PROCEDURE GetUserLogin @UserName varchar(50) 
AS 
select UserName, 
     Password 
From Login where [email protected] 
    RETURN 

感謝, Masum

回答

0

添加這個你填充數據集

cmd.Parameters.AddWithValue("UserName",UserName);

+0

這不起作用。你需要使用「@Username」 – Aheho 2009-02-13 23:08:51

1

你需要一個用戶名參數添加到您的命令。在創建命令後執行此操作,但在執行之前執行下列操作:

com.Parameters.Add("@UserName", SqlDbType.VarChar, 50); 
com.Parameters["@UserName"].Value = UserName;