PDA

View Full Version : خطا در کد update . ببینین(Error)



RIG000
جمعه 11 تیر 1389, 09:55 صبح
ای کد
OleDbConnection con = new OleDbConnection(variables.connectionstring);
OleDbCommand Cmd = new OleDbCommand();
Cmd.Connection = con;
try
{

intcodekala = Convert.ToInt32(txtcodekala.Text);
intghymatkh = Convert.ToInt32(txtghimatekh_update.Text);
intghymatfo = Convert.ToInt32(txtghymatfo_update.Text);
s = "select * from kala where codekala like'" + Convert.ToString(intcodekala) + "'";


Cmd.CommandText = s;
con.Open();

OleDbDataReader dr = Cmd.ExecuteReader();
object[] Obj = new object[1];
try
{
dr.Read();
dr.GetValues(Obj);
txtcodekala.Text = Obj[0].ToString();
}

catch
{
//label7.Location = new Point(41, 15);
//label7.Text = " .پیغام سیستم : این کد در سیستم وجود ندارد ، لطفا در وارد کردن کد دقت کنید ";
MessageBox.Show("این کد قبلا ثبت نشده است ، لطفا در وارد کردن کد دقت کنید ", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
// cleandelete();
}

con.Close();

// try
// {
if (intcodekala == Convert.ToInt32(txtcodekala.Text))
{


Cmd.CommandText = "UPDATE kala set namekala=@namekala,vahed=@vahed,ghymatkh=@ghymatkh ,ghymatfo=@ghymatfo,tozihat=@tozihat where codekala=@codekala;";
Cmd.Parameters.Clear();
Cmd.Parameters.AddWithValue("@codekala", Convert.ToString(intcodekala));
Cmd.Parameters.AddWithValue("@namekala", txtnamekala_update.Text);
Cmd.Parameters.AddWithValue("@vahed", cmbvahed_update.Text);
Cmd.Parameters.AddWithValue("@ghymatkh", Convert.ToString(intghymatkh));
Cmd.Parameters.AddWithValue("@ghymatfo", Convert.ToString(intghymatfo));
Cmd.Parameters.AddWithValue("@tozihat", txttozihatkala_update.Text);
con.Open();

Cmd.ExecuteNonQuery();
// label7.Location = new Point(109, 17);
// label7.Text = " .پیغام سیستم : کالای مورد نظر با موفقیت حذف شد ";
MessageBox.Show("رکورد با موفقیت حذف شد", "پیغام سیستم", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
cleanupdate();

}
con.Close();
// }
// catch
// {
// MessageBox.Show("خطا");
// }

}
catch (FormatException)
{
// label7.Text = " .پیغام سیستم : لطفا عدد وارد کنید ";
MessageBox.Show("لطفا عدد وارد کنید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
cleanupdate();

}
Cmd.Dispose();
con.Dispose();

راستش این قطعه کد update هستش که یه error میده
error >>>> No value given for one or more required parameters.

salehbagheri
جمعه 11 تیر 1389, 13:27 عصر
اینجوری به جواب نمیرسید!

کدهاتون رو داخل تگ سورس یا کد قرار دهید تا خوانا شوند.

در ضمن این طرز کد نوشتن اصلا پسندیده نیست. (کد بسیار بدبو)
به شما خوندن گفتگوی زیر رو پیشنهاد میکنم.
http://barnamenevis.org/forum/showthread.php?t=224704

RIG000
شنبه 12 تیر 1389, 13:48 عصر
OleDbConnection con = new OleDbConnection(variables.connectionstring);
OleDbCommand Cmd = new OleDbCommand();
Cmd.Connection = con;
try
{

intcodekala = Convert.ToInt32(txtcodekala.Text);
intghymatkh = Convert.ToInt32(txtghimatekh_update.Text);
intghymatfo = Convert.ToInt32(txtghymatfo_update.Text);
s = "select * from kala where codekala like'" + Convert.ToString(intcodekala) + "'";


Cmd.CommandText = s;
con.Open();

OleDbDataReader dr = Cmd.ExecuteReader();
object[] Obj = new object[1];
try
{
dr.Read();
dr.GetValues(Obj);
txtcodekala.Text = Obj[0].ToString();
}

catch
{
//label7.Location = new Point(41, 15);
//label7.Text = " .پیغام سیستم : این کد در سیستم وجود ندارد ، لطفا در وارد کردن کد دقت کنید ";
MessageBox.Show("این کد قبلا ثبت نشده است ، لطفا در وارد کردن کد دقت کنید ", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
// cleandelete();
}

con.Close();

// try
// {
if (intcodekala == Convert.ToInt32(txtcodekala.Text))
{


Cmd.CommandText = "UPDATE kala set namekala=@namekala,vahed=@vahed,ghymatkh=@ghymatkh ,ghymatfo=@ghymatfo,tozihat=@tozihat where codekala=@codekala;";
Cmd.Parameters.Clear();
Cmd.Parameters.AddWithValue("@codekala", Convert.ToString(intcodekala));
Cmd.Parameters.AddWithValue("@namekala", txtnamekala_update.Text);
Cmd.Parameters.AddWithValue("@vahed", cmbvahed_update.Text);
Cmd.Parameters.AddWithValue("@ghymatkh", Convert.ToString(intghymatkh));
Cmd.Parameters.AddWithValue("@ghymatfo", Convert.ToString(intghymatfo));
Cmd.Parameters.AddWithValue("@tozihat", txttozihatkala_update.Text);
con.Open();

Cmd.ExecuteNonQuery();
// label7.Location = new Point(109, 17);
// label7.Text = " .پیغام سیستم : کالای مورد نظر با موفقیت حذف شد ";
MessageBox.Show("رکورد با موفقیت حذف شد", "پیغام سیستم", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
cleanupdate();

}
con.Close();
// }
// catch
// {
// MessageBox.Show("خطا");
// }

}
catch (FormatException)
{
// label7.Text = " .پیغام سیستم : لطفا عدد وارد کنید ";
MessageBox.Show("لطفا عدد وارد کنید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
cleanupdate();

}
Cmd.Dispose();
con.Dispose();من اینو چیکار کنم حالا؟

mmd2009
شنبه 12 تیر 1389, 13:52 عصر
با سلام...

حالا چه اروری میده؟؟!!!

RIG000
شنبه 12 تیر 1389, 13:58 عصر
راستش این قطعه کد update هستش که یه error میده
error >>>> No value given for one or more required parameters.

mmd2009
شنبه 12 تیر 1389, 14:03 عصر
mmd=مجتبی


ببنی دوست عزیز این error واسه اینه که یکی از پارامترهات مقدار نداره اگه اشتباه نکنم

پس بهتره نمونه برنامه بذاری تو مشکلت رو حل کنیم

البته اگه اکسس باشه و الا من sql ندارم فعلا

mmd2009
شنبه 12 تیر 1389, 14:39 عصر
با سلام

دوست عزیز خواستم برنامتو درست کنم که دیدم روش کد نویسیتون طوری بود که کلا پشیمون شدم

پیشنهاد میکنم اصلا از این روش استفاده نکنید و هرکی بهتون گفت این روش خوبه بگو نمیخوام از این روش استفاده بکنم!!!

من همه ی کدت رو پاک کردم فقط کد ویرایش برنامتو گذاشتم و گفتم اگر کالا پیدا شد دکمه ویرایش فعال بشه در غیر اینصورت غیر فعال بمونه

کلا 6 تا 10 خط شد

ولی خودت برو نگاه کن شما چند خط نوشتی

این کد رو بذار جای کد ویرایشت امیدوارم مشکلت حل بشه

خطای املائی داشتی شما تو نام فیلد درون بانکت و فیلدهای تعریف شده در برنامت




Cmd.CommandText = "UPDATE kala set namekala=@namekala,vahed=@vahed," +
"ghymatekh=@ghymatekh,ghymatefo=@ghymatefo,tozihat= @tozihat where codekala=@codekala";

RIG000
شنبه 12 تیر 1389, 14:58 عصر
lمجتبی جان نمیه همونی که درست کردی رو برام بزاری راستش واسه من جا نخورد بازم جواب نداد

mmd2009
شنبه 12 تیر 1389, 15:09 عصر
بیا دوست عزیز