PDA

View Full Version : سوال: مشکل در حذف اطلاعات از یکی از جدول های بانک



rouhparvarmehdi
شنبه 25 فروردین 1397, 12:43 عصر
سلام دوستان
بنده به منظور حذف اطلاعات از بانک از دستور اسکیول زیر استفاده کرده ام.

cmd.CommandText = "Delete from Tbl_phone Where Number='"+ textBox1.Text +
"'and Date_d='" + bPersianCalenderTextBox3.Text + "' and Codemeli='" + textBox5.Text +
"' and phone='" + textBox6.Text + "' and Dr='" + comboBox7.Text + "' ";


متاسفانه این دستور به صورت کامل اجرا نمی شود.
تست کردم اشکال در قسمت شرط فیلد Dr می باشد که گفتم اگر مقدارش برابر با ComboBox بود حذف صورت پذیرد. فیلد Dr مقدارش از نوع Nvarchar می باشد در ضمن اگر فیلد Dr را از شرط حذف کنم دستور کامل اجرا می شود. و مشکلی نیست.

danialafshari
یک شنبه 26 فروردین 1397, 12:20 عصر
با سلام
شما دارید یک سطر رو حذق میکنید درسته؟
شرط بالای شما کار اشتباهیه
شما بیا داخل شرط ID سطر رو بهش پاس بده و بگو این ID رو پاک کن! به همین راحتی
در کل همیشه با ID کار کنید
موفق باشید

رامین مرادی
یک شنبه 26 فروردین 1397, 12:23 عصر
یک بریک پوینت قرار بدید و از مقدار sql ساخته شده کپی کنید و اینجا بزارید.

rouhparvarmehdi
یک شنبه 26 فروردین 1397, 18:22 عصر
میشه لطفا نمونه کد بدید؟منظورم اینه که چگونه ID رکورد را به دست بیاریم؟

danialafshari
دوشنبه 27 فروردین 1397, 01:44 صبح
میشه لطفا نمونه کد بدید؟منظورم اینه که چگونه ID رکورد را به دست بیاریم؟

با سلام
در ابتدا بهتون پیش میکنم که قبل از کار با بانک اطلاعاتی ابتدا برنامه نویسی مقدماتی را یاد بگیرید که کتاب ها و آموزش های زیادی در سایت موجوده و میتونید جستجو کنید
سپس مطالعه ای درباره Sql Server و اصول طراحی بانک اطلاعاتی و T-Sql داشته باشید.
برای بدست آوردن کد، معمولاً در DataGridView لود میشود و اقلب اندیس 0 را دارد.
برای استخراج از دیتاگرید:

int id = Convert.ToInt32(dataGridView1[0, dataGridView1.CurrentRow.Index].Value);

حالا ID رو در اختیار دارید

cmd.CommandText = "Delete from Tbl_phone WHERE ID=" + id;

موفق باشید

rouhparvarmehdi
دوشنبه 27 فروردین 1397, 23:14 عصر
با سلام
در ابتدا بهتون پیش میکنم که قبل از کار با بانک اطلاعاتی ابتدا برنامه نویسی مقدماتی را یاد بگیرید که کتاب ها و آموزش های زیادی در سایت موجوده و میتونید جستجو کنید
سپس مطالعه ای درباره Sql Server و اصول طراحی بانک اطلاعاتی و T-Sql داشته باشید.
برای بدست آوردن کد، معمولاً در DataGridView لود میشود و اقلب اندیس 0 را دارد.
برای استخراج از دیتاگرید:

int id = Convert.ToInt32(dataGridView1[0, dataGridView1.CurrentRow.Index].Value);

حالا ID رو در اختیار دارید

cmd.CommandText = "Delete from Tbl_phone WHERE ID=" + id;

موفق باشید
خطا میه میگه جدول TBL_Phone فاقد ستون ID می باشد.

danialafshari
سه شنبه 28 فروردین 1397, 07:43 صبح
خطا میه میگه جدول TBL_Phone فاقد ستون ID می باشد.
توصیه میکنم اصول طراحی بانک اطلاعاتی رو مطالعه کنید
خب باید فیلدی به نام ID یا هر نام دیگه به عنوان کلید اصلی در جدولتون داشته باشید!

رامین مرادی
سه شنبه 28 فروردین 1397, 08:36 صبح
خطا میه میگه جدول TBL_Phone فاقد ستون ID می باشد.

منظور از ستون آی دی تو ذهنیت ما ستونی هست که منحصر بفرده همون کلید. که نباید اصلا تکراری باشه. این ستون میتونه یه عدد باشه یا مجموعه ای از ستونها که به هیچ عنوان نباید تکرار بشه. که اگه به صورت کلید انتخاب بشه خود اس کیو ال نمیزاره داده تکراری وارد کنه. برای مدیریت بهتر خود اس کیو ال این امکان رو بهتون میده. یه ستون عددی ایجاد کنید بعد کلید رو انتخاب کنید. سپس از بخش پروپرتی های اون ستون اتو اینکریمنت رو فعال کنید. بعد هر بار که سطر جدیدی ایجاد میکنید خود اس کیو ال اون ستون رو خودش اتوماتیک پر میکنه. نیازی نیست (اس کیو ال نمیذاره) اون ستون رو شما پر کنید. هر بار هم که سلکت میکنید اون آی دی رو هم سلکت کنید.
موقع حذف هم بجای اینکه چندتا فیلدو برا شرط بزارید همون آی دی رو شرط بزارید طبق کد دوست عزیزمون آقای افشاری.
موفق باشید