PDA

View Full Version : چرا این رکورد حذف نمیشه ؟



mahnaz20
شنبه 09 مرداد 1389, 21:19 عصر
سلام دوستان
من برای حذف یه رکورد از پایگاه داده این کد رو نوشتم ولی رکورد مورد نظرم حذف نمیشه



لطفا بگین چی رو کم نوشتم ؟:متفکر:
مرسی



private void button1_Click (object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=db1;Integrated Security=True");
SqlCommand cmd = new SqlCommand("delete students where

student_id='" + textBox1.Text + "'", con ); "
{

voodoo01
شنبه 09 مرداد 1389, 21:27 عصر
با سلام
ابتدا حتما باید اتصال شما درست باشد

con.open



دوست عزیز اصلا سوال شما گویا نیست ...

شما اصلا دستور sql را اجرا نمیکنید

cmd.ExecuteNonQuery

mahnaz20
شنبه 09 مرداد 1389, 21:49 عصر
سلام دوست گرامی
ممنون از راهنمایی تون
من کدم رو به این صورت کامل کردم ولی بازم حذف نمیشه !!:متعجب:
(سوال من اینه که من میخام در یه تکست باکس شماره دانشجویی وارد کنم و وقتی کاربر باتن1 رو کلیک میکنه رکورد اون شماره دانشجویی از بانکم حذف بشه)



private void button1_Click (object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=db1;Integrated Security=True");
con.Open();
SqlCommand cmd = new SqlCommand("delete students where student_id='" + textBox1.Text + "'", con);
cmd.Parameters.AddWithValue("@student_id ", textBox1.Text);
cmd.ExecuteNonQuery();
{

FastCode
شنبه 09 مرداد 1389, 22:31 عصر
SqlCommand cmd = new SqlCommand("delete students where student_id='" + textBox1.Text + "'", con);
cmd.Parameters.AddWithValue("@student_id ", textBox1.Text);

این یعنی چی؟
بلاخره پارامتر داره یا نه؟
From کو؟
چرا یه space اضافست؟
چرا @ اضافست؟
وقتی از پارامتر استفاده میکنی باید بنویسی:

SqlCommand cmd = new SqlCommand("delete from students where student_id = @student_id", con);
cmd.Parameters.AddWithValue("student_id", textBox1.Text);

Babak-Magic
شنبه 09 مرداد 1389, 23:40 عصر
try
{
DialogResult dr;
dr = MessageBox.Show("از حذف اطمینان دارید", "حذف", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (dr == DialogResult.Yes)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database1.mdf;Integrated Security=True;User Instance=True";
con.Open();
SqlDataAdapter da = new SqlDataAdapter();
da.DeleteCommand = new SqlCommand();
da.DeleteCommand.Connection = con;
da.DeleteCommand.CommandText = "delete from info where id='" + textBox1.Text + "'";
da.DeleteCommand.ExecuteNonQuery();
con.Close();
this.Close();
}
else
{
return;
}
}
catch
{
}

میلاد قاضی پور
یک شنبه 10 مرداد 1389, 06:27 صبح
باید بنویسید



"delete from students where student_id="+textbox.text;
con.open();
cmd.executenonquery();
con.close()



پارامتر هم نمیخواد

mmd2009
یک شنبه 10 مرداد 1389, 07:42 صبح
باید بنویسید



"delete from students where student_id="+textbox.text;
con.open();
cmd.executenonquery();
con.close()

پارامتر هم نمیخواد




پیشنهاد میکنم از این دستور دوستمون استفاده بکنید

البته اگر student_id از نوع رشته نباشه.

Nahid Borna
یک شنبه 10 مرداد 1389, 09:55 صبح
دوست عزیز من فکر میکنم این تیکه کد هم علاوه بر نظرات دوستان باید یه اضافه کنی


cmd.connection=conn;

mahnaz20
دوشنبه 11 مرداد 1389, 11:15 صبح
از لطف همه دوستان ممنونم

مشکلم حل شد:لبخند:

ایمان مدائنی
دوشنبه 11 مرداد 1389, 11:45 صبح
شايد فيلد آي دي از نوع عدد باشه و شما بايد مقادير تكس باكس رو به عدد تبديل كني