PDA

View Full Version : پیدا نکردن stored procedure



Asad.Safari
جمعه 06 آذر 1383, 15:34 عصر
با سلام

من بعد از اون تاپیک "ساخت صفحه مشخصات فردی"
و راهنمایی های استاد نصیری و از چند تا کتاب آموزش asp.net
یه چیزی تقریبا سر هم کرده ا
این کد صفحه:


Public Class WebForm1
Inherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "

'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

End Sub
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents lblMemberID As System.Web.UI.WebControls.Label
Protected WithEvents lblPassword As System.Web.UI.WebControls.Label
Protected WithEvents txtPassword As System.Web.UI.WebControls.TextBox
Protected WithEvents txtMemberID As System.Web.UI.WebControls.TextBox
Protected WithEvents cmdLogin As System.Web.UI.WebControls.Button

'NOTE: The following placeholder declaration is required by the Web Form Designer.
'Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
End Sub

Private Sub cmdLogin_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdLogin.Click

'Declare connection string and assign
'a value to it
Dim str1 As String

str1 = "server=(local);database=Test;integrated security=true;"


'Instantiate a connection
Dim cnn1 As SqlClient.SqlConnection = _
New SqlClient.SqlConnection(str1)
cnn1.Open()
'Declare command to validate MemberID and
'password
Dim cmd1 As SqlClient.SqlCommand = cnn1.CreateCommand
cmd1.CommandType = CommandType.StoredProcedure
cmd1.CommandText = "IsValidMember"

Dim prm1 As SqlClient.SqlParameter = _
cmd1.Parameters.Add("@OK", SqlDbType.Int)
prm1.Direction = ParameterDirection.ReturnValue

Dim prm2 As SqlClient.SqlParameter = _
cmd1.Parameters.Add("@inID", SqlDbType.NVarChar, 8)
prm2.Direction = ParameterDirection.Input

Dim prm3 As SqlClient.SqlParameter = _
cmd1.Parameters.Add("@inpassword", SqlDbType.NVarChar, 30)
prm3.Direction = ParameterDirection.Input

prm2.Value = txtMemberID.Text
prm3.Value = txtPassword.Text

'Execute the command
cmd1.ExecuteNonQuery()

'Accept the return value
'1 if valid
'0 otherwise
Dim count As Byte = _
CByte(cmd1.Parameters("@OK").Value)
If count = 1 Then
Session("MemberID") = txtMemberID.Text
Session("Password") = txtPassword.Text
Session("LoggedIn") = True
Response.Redirect("Default.aspx")
Else
Session("LoggedIn") = False
Response.Redirect("NotLoggedIn.htm")
End If

End Sub
End Class


error:


Server Error in '/SqlMagMemberApp/sd' Application.
--------------------------------------------------------------------------------

Could not find stored procedure 'IsValidMember'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Could not find stored procedure 'IsValidMember'.

Source Error:


Line 67:
Line 68: 'Execute the command
Line 69: cmd1.ExecuteNonQuery()
Line 70:
Line 71: 'Accept the return value


Source File: C:\Inetpub\wwwroot\SqlMagMemberApp\Login.aspx.vb Line: 69

Stack Trace:


[SqlException: Could not find stored procedure 'IsValidMember'.]
System.Data.SqlClient.SqlCommand.ExecuteReader(Com mandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) +723
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +196
SqlMagMemberApp.WebForm1.cmdLogin_Click(Object sender, EventArgs e) in C:\Inetpub\wwwroot\SqlMagMemberApp\Login.aspx.vb:6 9
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPo stBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEve ntHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCol lection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1277




در ضمن اون stored procedure که اون میخاد تو دیتابیسم هست !!


با تشکر

Vahid_Nasiri
جمعه 06 آذر 1383, 19:19 عصر
http://www.barnamenevis.org/forum/viewtopic.php?t=15634
:)

Asad.Safari
جمعه 06 آذر 1383, 20:02 عصر
اگر *نام SP‌ درست نوشته شده* و همچنین در دیتابیس نیز *موجود* است :
1- سعی کنید با استفاده از یک یوزر دیگر به دیتابیس وصل شوید. (یوزری که توسط آن به دیتابیس متصل شده اید آیا مالکیت این SP‌ را دارا است؟ آیا مجوز اجرای آنرا دارد؟ برای مثال اگر یوزر جدیدی تعریف کرده اید که dbo‌ نیست و قبلا SP تحت dbo‌ ایجاد شده ، با یوزر جدید نمی توانید به آن دسترسی داشته باشید، این مورد خصوصا هنگام آپلود کار روی سروری دیگر محسوس است )

آقا وحید من
server=(local);database=Test;integrated security=true
اینطوری به دیتابیسم کانکت میشم
و یوزر asp.net رو بعد از ایجاد sp در اون دیتابیسم ایجاد کردم!!!
حالا من چه کنم؟


با تشکر :thnx:

Vahid_Nasiri
شنبه 07 آذر 1383, 10:32 صبح
به قسمت security ، قسمت Logins‌ مراجعه کن. سپس خواص یوزر aspnet ایی را که اضافه کردی بیار (دوبار کلیک). بعد به tab مربوط به database access مراجعه کن و دسترسی مناسب را بده.

Asad.Safari
شنبه 07 آذر 1383, 19:47 عصر
ببخشید استاد نصیری تو اون قسمت database access کدوم ها رو انتخاب کنم !!!
dbadmin,dbowner,.....?


با تشکر :thnx: