PDA

View Full Version : سوال: مشگل در سي شارپ error in csharp



اتيانا
سه شنبه 05 مهر 1390, 13:59 عصر
در اجراي برنامه به Error: String or binary data would be truncated .
The statement has been terminated
برخوردم
حرفه اي ها مشگل چيه؟
ممنون ميشم راهنماييم كنيد.

reza_magical
سه شنبه 05 مهر 1390, 14:09 عصر
سلام
خوب اون تیکه کد برنامه ات که خطا میده رو بزار و در مورد برنامه ات توضیح بده ، و اینکه کارش چیه.
احتمالا توی جابجایی و ذخیره و خوندن دیتاتایپهای برنامه یه جایش مشکل داره.

jeson_park
سه شنبه 05 مهر 1390, 14:17 عصر
سلام به جای String اس Stringbuilder ساتفاده کنید
کد رو هم ایجا بزارید بهتر می تونیم کمک کنیم

اتيانا
سه شنبه 05 مهر 1390, 14:21 عصر
سلام و ممنون
از ب بسم ا... كد ايراد ميگيره. insert انجام نمي شه

..........
..................( داده هاي db را ميگيرد)

ObjCommand.Parameters.AddWithValue("PNumberNezam", txtNumberNezam.Text);
ObjConnection.Open();
3/ int a = ObjCommand.ExecuteNonQuery();
ObjConnection.Close();
بعد از گرفتن همه داده ها به خط 3 error ميده

اتيانا
سه شنبه 05 مهر 1390, 14:25 عصر
سلام ممنون
مي خوام داده insert كنم بعد از گرفتن داده ها در
int a = ObjCommand.ExecuteNonQuery();
error ميگيره.

reza_magical
سه شنبه 05 مهر 1390, 14:30 عصر
خط سوم رو به این صورت اصلاح کنید:

ObjCommand.ExecuteNonQuery();
int a= رو حذف کنید

اتيانا
سه شنبه 05 مهر 1390, 14:32 عصر
هيچ داده اي در db String نيست.

اتيانا
سه شنبه 05 مهر 1390, 14:34 عصر
در message box مي خوام نشون بده اصلا كاري انجام مي شه
messagebox.show(a.tostring
;(()

reza_magical
سه شنبه 05 مهر 1390, 14:40 عصر
سوالتون واضح نیست
کد کامل ( Insert) و ادامه کارتو اینجا قرار بده و بگو دقیقا چیکار می خوای کنی با این کد ؟
چه چیزی رو می خوای نمایش بدی ؟

اتيانا
سه شنبه 05 مهر 1390, 14:43 عصر
با حذف int a هم error تكرار شد:گریه:

اتيانا
سه شنبه 05 مهر 1390, 14:46 عصر
private void btnInsert_Click(object sender, EventArgs e)
{
SqlConnection ObjConnection = new SqlConnection("Data Source=Localhost;Initial Catalog=sazman;Integrated Security=True");
SqlCommand ObjCommand = new SqlCommand("Insert into Person (PID,PFirstName,PLastName,"
+ "PCodeID ,PShenasname,PDateOfBirth,PTaskID,PSex,"
+ "PHomeTel,PMobile,PNumberNezam,PEducation,PAddress) Values"
+ "(@PID,@PFirstName,@PLastName,@PCodeID ,"
+ "@PShenasname,@PDateOfBirth,@PTaskID,@PSex,@PHomeTe l,@PMobile,@PAddress,"
+ "@PNumberNezam,@PEducation)", ObjConnection);
ObjCommand.Parameters.AddWithValue("PFirstName", txtFirstName.Text);
ObjCommand.Parameters.AddWithValue("PLastName", txtLastName.Text);
ObjCommand.Parameters.AddWithValue("PID",int.Parse( txtPID.Text));
ObjCommand.Parameters.AddWithValue("PTaskID",Convert.ToInt32( cmbTaskID.SelectedValue));
ObjCommand.Parameters.AddWithValue("PShenasname", txtShenasname.Text);
ObjCommand.Parameters.AddWithValue("PDateOfBirth", cmbYear.Text);
ObjCommand.Parameters.AddWithValue("PSex", gpbSex.Text);
ObjCommand.Parameters.AddWithValue("PHomeTel", mskTxtTel.Text);
ObjCommand.Parameters.AddWithValue("PMobile", mskTxtMobile.Text);
ObjCommand.Parameters.AddWithValue("PAddress", txtAddress.Text);
ObjCommand.Parameters.AddWithValue("PCodeID", mskTxtCodeID.Text);
ObjCommand.Parameters.AddWithValue("PEducation", txtEducation.Text);
ObjCommand.Parameters.AddWithValue("PNumberNezam", txtNumberNezam.Text);
ObjConnection.Open();
int a = ObjCommand.ExecuteNonQuery();
ObjConnection.Close();


try
{
MessageBox.Show("اطلاعات با موفقيت افزوده شد", a.ToString());
}

catch (SqlException)
{

}
} اين كد را براي insert داده ها نوشتم و مي خوام دهده ها به db add شه
خيلي ممنون:گیج:
البته data gride viwe نمايش داده مي شه delete انجام ميشه

reza_magical
سه شنبه 05 مهر 1390, 14:55 عصر
کدتون رو به این شکل بنویسید ( کمی اصلاح کردم ، فکر کنم صحیح باشه)
درضمن هر زمان که خواستید کدتون رو توی تایپیک بنویسید از تگ مخصوص استفاده کنید و کدتون رو بین این دو تگ قرار بدید:
[C O D E][ / C O DE ]

SqlConnection ObjConnection = new SqlConnection("Data Source=Localhost;Initial Catalog=sazman;Integrated Security=True");
SqlCommand ObjCommand = new SqlCommand("Insert into Person (PID,PFirstName,PLastName,"
+ "PCodeID ,PShenasname,PDateOfBirth,PTaskID,PSex,"
+ "PHomeTel,PMobile,PNumberNezam,PEducation,PAddress ) Values"
+ "(@PID,@PFirstName,@PLastName,@PCodeID ,"
+ "@PShenasname,@PDateOfBirth,@PTaskID,@PSex,@PHomeT el,@PMobile,@PAddress,"
+ "@PNumberNezam,@PEducation)", ObjConnection);
ObjConnection.Open();
ObjCommand.Parameters.AddWithValue("PFirstName", txtFirstName.Text);
ObjCommand.Parameters.AddWithValue("PLastName", txtLastName.Text);
ObjCommand.Parameters.AddWithValue("PID", (int)(txtPID.Text));
ObjCommand.Parameters.AddWithValue("PTaskID",(int)cmbTaskID.SelectedValue);
ObjCommand.Parameters.AddWithValue("PShenasname", txtShenasname.Text);
ObjCommand.Parameters.AddWithValue("PDateOfBirth", cmbYear.Text);
ObjCommand.Parameters.AddWithValue("PSex", gpbSex.Text);
ObjCommand.Parameters.AddWithValue("PHomeTel", mskTxtTel.Text);
ObjCommand.Parameters.AddWithValue("PMobile", mskTxtMobile.Text);
ObjCommand.Parameters.AddWithValue("PAddress", txtAddress.Text);
ObjCommand.Parameters.AddWithValue("PCodeID", mskTxtCodeID.Text);
ObjCommand.Parameters.AddWithValue("PEducation", txtEducation.Text);
ObjCommand.Parameters.AddWithValue("PNumberNezam", txtNumberNezam.Text);
ObjCommand.ExecuteNonQuery();
ObjConnection.Close();

اتيانا
سه شنبه 05 مهر 1390, 15:07 عصر
خيلي مرسي




ObjCommand.Parameters.AddWithValue("PID", (int)(txtPID.Text));
Error 1 Cannot convert type 'string' to 'int' 106 55 Sazman_Refah
با int.parse مشكل بالا حل شد به error زير خوردم
Incorrect syntax near 'ress'.
دارم اجرا مي كنم ببينم به error مي خوره

اتيانا
سه شنبه 05 مهر 1390, 15:25 عصر
Error: String or binary data would be truncated .
The statement has been terminated
Eroor حل نشد:گریه:
:گیج:

reza_magical
سه شنبه 05 مهر 1390, 16:26 عصر
فیلدهای دیتابیست از چه نوع دیتاتایپی هستند ؟
دیتاتایپ فیلدهای دیتابیست باید با ورودیهای برنامه ت همخونی داشته باشن،مثلا شما نمی تونی یک داده از نوع string رو در فیلدی توی دیتابیس با دیتاتایپ باینری ذخیره کنی و باید Convert کنید، شما دیتاتایپهای ورودی برنامه با دیتاتایپهای دیتابیست رو چک کن ببین مشکلی نداشته باشن.
اگر بازهم خطا داد بگید کدوم خط و چه خطایی ؟