PDA

View Full Version : CommandType چیست؟



ashe405
چهارشنبه 14 تیر 1391, 09:50 صبح
با سلام خدمت دوستان گرامی
میشه در مورد CommandType کمی توضیح دهید؟
در یک شی در sqlCommand
objSqlCommand.CommandType = CommandType.text
چه کاری انجام می دهد؟

veniz2008
چهارشنبه 14 تیر 1391, 10:14 صبح
سلام، شما برای استفاده از داده های دیتابیس باید از دستورات ( command ) استفاده کنید(مثل دستور select یا insert و ...) ، حالا چند روش مختلف برای نوشتن این دستورات وجود داره،یکی اینکه میتونید مستقیما دستورات sql رو درون محیط دات نت بنویسید (این همون commandType.Text هست )،یه روش دیگه اینه که داخل محیط sql ،دستورات رو مینویسید و داخل محیط دات نت اونا رو صدا میزنید و اجرا میکنید(در واقع stored procedure میسازید)،این روش همون commandType.StoredProcedure هست. این نکته رو هم بگم وقتی داخل ویژوال استودیو(محیط دات نت) دستور مینویسید اجباری به استفاده از کلمه commandType.text نیست(درواقع command بصورت پیش فرض از نوع text در نظر گرفته میشه) ولی اگه از stored procedure استفاده میکنید حتما باید commandType.StoredProcedure رو بنویسید تا برنامه متوجه بشه شما از storedprocedure میخواید استفاده کنید.
موفق باشید.

ashe405
چهارشنبه 14 تیر 1391, 10:42 صبح
با تشکر از توضیحات شما ولی بعضی وقت ها ننوشتن commandType.text در محیط ویژال باعث خطا دادن میشود!

veniz2008
چهارشنبه 14 تیر 1391, 11:15 صبح
با تشکر از توضیحات شما ولی بعضی وقت ها ننوشتن commandType.text در محیط ویژال باعث خطا دادن میشود!
اگه میتونید یه نمونه کد بیارید که خطا میگیره،بازم تاکید میکنم که اگه کدنویسی رو داخل محیط ویژوال انجام بدید نیازی به ذکر commandType.Text نیست،من 2 نمونه کد میزارم تا متوجه منظور من بشید(اصلا نامی از commanType.Text برده نشده و برنامه به درستی کار میکنه)،مطمئنا اونی که خطا داده مشکلش از یه چیز دیگه بوده.
روش اول:

con = new SqlConnection("Data source =(local);initial catalog = testgrid;integrated security = true");
con.Open();
SqlCommand cmd = new SqlCommand("delete from student where id =" + txtid.Text + "", con);
cmd.ExecuteNonQuery();
con.Close();
روش دوم:

SqlCommand cmd1 = new SqlCommand();
cmd1.Connection = con;
cmd1.CommandText = "delete from student where id =" + txtid.Text ;
con.Open();
cmd1.ExecuteNonQuery();
con.Close();