我試圖從C#代碼中訪問存儲過程,但總是得到結果== -1。我不知道我錯在哪裏。我搜查了很多,但沒有找到任何解決方案。請查看我的代碼片段,並指導我做錯了什麼。無法從存儲過程中獲取數據
在此先感謝。
C#代碼:
using (SqlConnection connection = new SqlConnection(getConnectionString()))
using (SqlCommand command = new SqlCommand())
{
Int32 rowsAffected;
command.CommandText = "SP_LOGIN_GETUSERBYNAME";
command.CommandType = CommandType.StoredProcedure;
// command.Parameters.Add(new SqlParameter("@Email", userObj.email));
// command.Parameters.Add("@Email", SqlDbType.VarChar).Value = userObj.email.Trim();
command.Parameters.AddWithValue("@Email", userObj.email.ToString());
command.Connection = connection;
connection.Open();
rowsAffected = command.ExecuteNonQuery();
connection.Close();
return rowsAffected;
}
連接字符串:
return "Data Source=MUNEEB-PC;Initial Catalog=HRPayRoll;User ID=sa; Password=sa";
存儲的過程代碼:
CREATE PROCEDURE SP_LOGIN_GETUSERBYNAME
@Email varchar(50)
AS
SELECT *
FROM [User]
WHERE Email = @Email
GO
避免使用'sp_'前綴命名存儲過程。該前綴用於包含在SQL Server中的系統存儲過程。 –
感謝您指導我@Dan :) –