PDA

View Full Version : Procedure در C#



ara12345
چهارشنبه 24 مرداد 1386, 15:06 عصر
سلام

من در قسمت DataBase Explorer / stored procedure d یک پروسیجر ساختم برای برنامه ام که توی C# است.

Alter PROCEDURE dbo.StoredProcedure1
(@StrName nvarchar(50),
@StrFname nvarchar(50),@intIDCloths int)

as

Update TblCloths set Name = @StrName , Family= @Strfname From tblCloths
Where Idcloths= @intIDCloths

/*

(

@parameter1 int = 5,

@parameter2 datatype OUTPUT

)

*/

/* SET NOCOUNT ON */

RETURN


Error می دهد که " اسم پروسیجر " Invalid ObjectName
نمی دانم باید چی کار کنم؟!

hdv212
چهارشنبه 24 مرداد 1386, 15:47 عصر
من کدت رو اصلاح کردم، ببین مشکلت حل میشه، در غیر این صورت کد کامل به همراه error ای که میده رو اینجا بذار :

Alter PROCEDURE
dbo.StoredProcedure1
(
@StrName nvarchar(50),
@StrFname nvarchar(50),
@intIDCloths int
)


as
Update TblCloths set Name = @StrName , Family= @Strfname
Where Idcloths= @intIDCloths

ara12345
چهارشنبه 24 مرداد 1386, 16:02 عصر
این کجا با کد من فرق می کنه! " اسم پروسیجر " Error : Invalid objectName
در برنامه ام هم نوشتم:


SqlCommand SCmdUpdate = newSqlCommand();
SCmdUpdate.CommandText = "Storedprocedure1";
SCmdUpdate.CommandType = CommandType.StoredProcedure;
SCmdUpdate.Parameters.AddWithValue("@StrName", TxtName.Text);
SCmdUpdate.Parameters.AddWithValue("@StrFamily", TxtFamily.Text);
//SCmdUpdate.Parameters.AddWithValue("@bigintIdcloths", TxtName.SelectedText);

SCmdUpdate.Connection = scnn;
// scmdCloths.Connection = scnn;

scnn.Open();
SCmdUpdate.ExecuteReader();

mehdi.mousavi
چهارشنبه 24 مرداد 1386, 16:15 عصر
این کجا با کد من فرق می کنه! " اسم پروسیجر " Error : Invalid objectName
در برنامه ام هم نوشتم:


SqlCommand

SCmdUpdate = newSqlCommand();
SCmdUpdate.CommandText = "Storedprocedure1";
SCmdUpdate.CommandType = CommandType.StoredProcedure;
SCmdUpdate.Parameters.AddWithValue("@StrName", TxtName.Text);
SCmdUpdate.Parameters.AddWithValue("@StrFamily", TxtFamily.Text);
//SCmdUpdate.Parameters.AddWithValue("@bigintIdcloths", TxtName.SelectedText);

SCmdUpdate.Connection = scnn;


// scmdCloths.Connection = scnn;

scnn.Open();
SCmdUpdate.ExecuteReader();


سلام.
Syntax دستور Update رو شما اشتباه نوشتید و نیازی به FROM نداره.
تفاوت این دو کد هم در همین بود.

ara12345
چهارشنبه 24 مرداد 1386, 16:26 عصر
سلام

ولی با لین حال بازهم Error می ده .وقتی می خوام Save کنم Error میده تازه خود برنامه هم Exception داره این پروسیجرو نمی شناسه

mehdi.mousavi
چهارشنبه 24 مرداد 1386, 20:19 عصر
سلام

ولی با لین حال بازهم Error می ده .وقتی می خوام Save کنم Error میده تازه خود برنامه هم Exception داره این پروسیجرو نمی شناسه


سلام.
بطور کلی، مشکل مزبور در یکی از حالتهای زیر رخ می ده:
کاربری که توسط اون به SQL Server متصل میشید اجازه اجرای CRUD ها رو روی Object ها نداره.
شما توسط Account ای به SQL Server متصل شده اید، که انتظارش رو نداشتید.
بدون تعیین Owner Name یه Object دارید به اون Object اشاره میکنید.
به بانک دیگه ای متصل شده اید.
نام Object رو درست تایپ نمی کنید.اما پیشنهاد من، شما Stored Procedure رو Drop کنید (حذف کنید) و مجددا ایجاد کنید. به احتمال بسیار زیاد شما هنگام ایجاد این Stored Procedure اونو در بانک دیگه ای (مثل master و ...) ایجاد کردین و در نتیجه الان در بانک خودتون وجود نداره و ... (چون من هم هر از گاهی این اشتباه رو مرتکب میشم). این مساله رو بررسی کنید، مشکلی بود بفرمایید تا دقیقتر بگم چیکار کنید.