PDA

View Full Version : نحوه پر کردن identity فیلد از پروسجر



Kubuntu
جمعه 27 خرداد 1390, 20:37 عصر
سلام بچه ها!!!

وقتی پروسجری را می نویسیم مثلا insert. فیلد identity رو چجوری باید پر کنم؟!

در محیط سی شارپ چجوری می تونم یک پروسجر را exec کنم؟ چه از شی sqlCommand چه DataAdapter.

میشه لطفا با یک مثال توضیح بدید. خیلی حیاتیه!!
سپاس

Kubuntu
جمعه 27 خرداد 1390, 21:40 عصر
سلام بچه ها!!!

وقتی پروسجری را می نویسیم مثلا insert. فیلد identity رو چجوری باید پر کنم؟!

سپاس

جواب سوال اول:
لازم نیست در sql server توی پروسجرت فیلدی برای identity بذاری. هنگام insert خودش درج میشه.
مثال

CREATE PROCEDURE insert_User
(
@name nvarchar(30),
@lname nvarchar(30)
)
AS
INSERT INTO [User]
VALUES (@name, @lname)
GO

Kubuntu
جمعه 27 خرداد 1390, 22:40 عصر
در قسمت ExecuteNonQurey و Fill
خطای عدم ارسال پارامتر می ده!! :گریه:
پارامتر هم بهش میدم نمی دونم چشه!!

ma.rad
جمعه 27 خرداد 1390, 22:56 عصر
دوست عزیز insert نیاز به دادن شماره نداره وفید id شما به صورت خودکار افزایش پیدا میکنه
ولی در حذف وویرایش شما باید شماره سطری که میخواید رو بدید
مثال: update Table set name=@name where id=@id
بعد هم da.update(idforEdit);

Kubuntu
جمعه 27 خرداد 1390, 23:15 عصر
سلام بچه ها!!!

در محیط سی شارپ چجوری می تونم یک پروسجر را exec کنم؟ چه از شی sqlCommand چه DataAdapter.

میشه لطفا با یک مثال توضیح بدید. خیلی حیاتیه!!
سپاس
مرسی از پاسخ تون!!
این سوال رو در محیط سی شارپ موندم :)

ma.rad
جمعه 27 خرداد 1390, 23:22 عصر
اینم یه نمونه تشکر یادت نره
int i = dataGridView1.CurrentRow.Index;
string v = dataGridView1[0, i].Value.ToString();
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\shop.mdf;Integrated Security=True;User Instance=True";
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
string s = "Delete From Product where id={0}";
s = string.Format(s, v);
cmd.CommandText = s;
cmd.ExecuteNonQuery();
con.Close();