+3 امتیاز

سلام . من کد های sql و سی شارپ(پایین ) نوشتم اما نمیدونم چرا رشته هایی جدیدی که می نویسم در دیتا گرید درچ نمیشه چیکار کنم ؟

create proc insert_Logine
@typeusername nvarchar (50),
@typepassworde nvarchar (50),
@typenamesite nvarchar (50),
@typetypesite nvarchar (50),
@typeaddressstie nvarchar (50)
as
insert into TBL_LOGINE (username , passworde , namesite , typesite , addresssite )
values (@typeusername ,@typepassworde ,@typenamesite ,@typetypesite, @typeaddressstie)
go

این دستور رو هم در سی شارپ نوشتم تا در دیتا گریدویو نمایش داده بشه اما وقتی رو دکمه ی درج میزنم کاری نمیکنه . باید چیکار کنم ؟

 SqlCommand cmd = new SqlCommand("insert_Logine", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@username" , txt_username.Text);
            cmd.Parameters.AddWithValue("@passworde" , txt_pass.Text);
            cmd.Parameters.AddWithValue("@namesite" ,  txt_sitename.Text);
            cmd.Parameters.AddWithValue("@typesite" , txt_TypeSite.Text);
            cmd.Parameters.AddWithValue("@addresssite" ,  txt_AddressSite.Text);

            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();

            Form1_Load(null, null);

لطفا هر دو کد sql و سی شارپ رو بررسی کنید . ممنون

بسته شده
SqlConnection con =  new SqlConnection("server = .\\patriot ; DataBase = db_karmand ; Integrated security = true");

SqlDataAdapter da = new SqlDataAdapter("selectkarmand", con);
            da.SelectCommand.CommandType = CommandType.StoredProcedure;
            DataTable dt = new DataTable();
            da.Fill(dt);
            dataGridView1.DataSource = dt;

 

توسط (206 امتیاز) 3 10 32
اشکالم پیدا شد . ایراد از sql ام بود . دوباره نوشتم جواب داد

ببخشید که وقت با ارزشمند تون رو گرفتم

ولادت امام حسین رو هم تبریک میگم
ویرایش شده توسط
توسط (206 امتیاز) 3 10 32

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

با اجازه آقای faceforce

سلام.

نام پارامترها رو باید دقیقا شبیه به نام پارامترهایی که در پروسیجر تعریف کردید بنویسید.

            SqlCommand cmd = new SqlCommand("insert_Logine", con);
            cmd.CommandType = CommandType.StoredProcedure;
            /------------------
            cmd.Parameters.AddWithValue("@typeusername", txt_username.Text);
            cmd.Parameters.AddWithValue("@typepassworde", txt_pass.Text);
            cmd.Parameters.AddWithValue("@typenamesite", txt_sitename.Text);
            cmd.Parameters.AddWithValue("@typetypesite", txt_TypeSite.Text);
            cmd.Parameters.AddWithValue("@typeaddressstie", txt_AddressSite.Text);
            /------------------
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();

            Form1_Load(null, null);

 

امیدوارم که تونسته باشم کمکتون کنم.
نمایش از نو توسط
توسط (2,595 امتیاز) 5 15 90
نمیدونم چرا هی گیر میده به cmd.ExecuteNonQuery ؟ شاید اشکال از پروسیجرم ؟
توسط (206 امتیاز) 3 10 32
شما نام پارامترهاتون رو ویرایش کردید؟
توسط (2,595 امتیاز) 5 15 90
اشکالم پیدا شد . ایراد از sql ام بود ، دوباره نوشتم جواب داد

ببخشید که وقت با ارزشمند تون رو گرفتم

ولادت امام حسین رو هم تبریک میگم
توسط (206 امتیاز) 3 10 32

patriot  عزیز بهتره اینجور مواقع از try  استفاده کنی تا راحت تر بتونی خروجی رو مدیریت کنی

 

try
            {
                con.Open();
                int Result = cmd.ExecuteNonQuery();
                if (Result > 0)
                {
                    MessageBox.Show("اطلاعات با موفقیت ثبت شد");
                   
                }
                else
                {
                    MessageBox.Show("امکان درج اطلاعات وجود ندارد");
                }
            }
            catch (SqlException SqlError)
            {

                MessageBox.Show("امکان برقراری با دیتابیس وجود ندارد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);// برای دیدن خطای اسکیوال
            }
            finally
            { con.Close();
 }

 

موفق باشی

توسط (466 امتیاز) 7 26
سلامی دوباره
اگه من بخوام برای عملیات search به همین روش خودم دستور بنویسم میتونین کمکم کنین ؟
ویرایش شده توسط
توسط (206 امتیاز) 3 10 32

توی سوال قبلیت من از همین روش استفاده کردم wink

توسط (466 امتیاز) 7 26
نه منظورم به همین روشی بود که در بالا سوالم رو مطرح کرده بودم .
توسط (206 امتیاز) 3 10 32

سؤال : من یک فرم دومی  با چند فیلد برای ثبت در نظر گرفتم . حالا من می خوام وقتی کاربر بر روی دکمه ی ثبت کلیک کرد ، این اطلاعات بر روی دیتا گرید موجود در فرم اولی ثیت بشه باید این ارتباط رو چطوری برقرار کنم ؟ من این طور نوشتم :

Form1 frm = new Form1();
            SqlDataAdapter da = new SqlDataAdapter("Select_Logine", con);
            da.SelectCommand.CommandType = CommandType.StoredProcedure;
            DataTable dt = new DataTable();
            da.Fill(dt);
            frm.Gridviewmain.DataSource = dt;

 

ویرایش شده توسط
توسط (206 امتیاز) 3 10 32
سلام

فکر میکنم این سوال قبلا در سایت پرسیده شده ...

یه جستجو بکن اگه پیدا نکردی سوالت رو در قسمت سوالات بنویس تا با کمک اساتید ردیفش کنیم

مرسی
توسط (466 امتیاز) 7 26

یک سوال مربوط به search داشتم که می خواستم با استفاده از stored procedures بنویسم ، بالاآخره نوشتمش :

create proc   searchType
@Type int
as
select * from  TBL_example     where    Typeexample = @type
go

 

توسط (206 امتیاز) 3 10 32
عالی بود.
توسط (2,595 امتیاز) 5 15 90
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...