PDA

View Full Version : مشکل add کردن در بانک و دیتا گرید



raha1815
دوشنبه 27 اردیبهشت 1389, 15:42 عصر
سلام
من وقتی میخوام اطلاعات یک فیلدو به بانک add کنم ( اکسس و فیلد با دیتا تایپ text با سایز 255تعریف شده ) خطای زیر و میده :


the value violates the maxlength limit of this column
مشکل کجاست ؟
این اطلاعات وارد دیتا بانک و نهایتا datagridview میشه . من از oledbdataadapter و dataset استفاده میکنم .


با تشکر

raha1815
دوشنبه 27 اردیبهشت 1389, 18:28 عصر
کسی نمیتونه راهنماییم کنه ؟

Payam Moradi
دوشنبه 27 اردیبهشت 1389, 22:53 عصر
تعداد كاراكترهايي كه ميخوايد در فيلد مذكور ذخيره كنيد بيش از اندازه مجاز تعريف شده در ديتابيس هست. مثلا شما جمله اي بيش از 255 كاراكتر رو سعي داريد در فيلد ذخيره كنيد.
در غير اينصورت حتما فيلد رو اشتباه گرفتيد :چشمک:

raha1815
سه شنبه 28 اردیبهشت 1389, 19:49 عصر
پیام جان ممنون
من به این موضوع توجه دارم و جملاتم که عنوان کتابه خیلی کمتر از 255 کاراکتره

Open-Source
سه شنبه 28 اردیبهشت 1389, 20:55 عصر
تکه کدت رو به همراه مت خطا قرار بده.:متفکر:

raha1815
سه شنبه 28 اردیبهشت 1389, 22:00 عصر
سلام
این هم کد :


Try
OleDbDataAdapter1.InsertCommand.Parameters.Item(0) .Value = txtISBN.Text
OleDbDataAdapter1.InsertCommand.Parameters.Item(1) .Value = txttitle.Text
OleDbDataAdapter1.InsertCommand.Parameters.Item(2) .Value = cmbGroup.Text
OleDbDataAdapter1.InsertCommand.Parameters.Item(3) .Value = txtNumPrint.Text
OleDbDataAdapter1.InsertCommand.Parameters.Item(4) .Value = txtMoalef.Text
OleDbDataAdapter1.InsertCommand.Parameters.Item(5) .Value = txtTotalPage.Text
OleDbDataAdapter1.InsertCommand.Parameters.Item(6) .Value = txtTotal.Text
OleDbConnection1.Open()
OleDbDataAdapter1.InsertCommand.ExecuteNonQuery()
LibraryDataset1.tbl_book.Clear()
OleDbDataAdapter1.Fill(LibraryDataset1.tbl_book)

MsgBox(" ")
Catch ex As Exception
MsgBox("Error : " & ex.Message)
Finally
If OleDbConnection1.State = ConnectionState.Open Then OleDbConnection1.Close()
EndTry
EndIf
EndSub


این هم خطا :
Error : Cannot set column 'b_title' . The value violates the MaxLength limit of the column.

raha1815
چهارشنبه 29 اردیبهشت 1389, 22:27 عصر
سلام
میدونم مشکلم عجیبه ولی خواهش میکنم حرفه ایها به من جواب بدند . اخل خود اکسس دیتا راحت add میشه ولی با برنامه ارور بالا رو میده

ACorvinus
چهارشنبه 29 اردیبهشت 1389, 23:18 عصر
سلام.

دوست عزیز کداتونو Trace کنین ببینین در کدوم خط Error میده و لطفا این تکه کدی که گذاشتینو خلاصه بذارین. مثلا هر چیزی که مربوط به ErrorProvider هاتون هست رو حذف کنین.

ممنونم.

Payam Moradi
یک شنبه 09 خرداد 1389, 21:30 عصر
چك كنيد ببيند انديكسهاي مربوط به پارامترها دقيقا مربوط به همون تكست باكسها هست يا نه؟

kasra_khan2003
یک شنبه 09 خرداد 1389, 22:09 عصر
ببین، بجای اینکه کدت رو اونجوری بنویسی، از این استفاده کن:




OledbCommand.Parameters.Add("@Name", OleDbType.Char, 16).Value = txt_Name.Text


فقط جای عدد 16، باید 255 بزنی.

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

ashkan209
یک شنبه 09 خرداد 1389, 23:16 عصر
با نظر دوستمون پیام موافقم
جایی که خطا اتفاق میفته ، trace کن و طول رشته ای که میخواد ذخیره بشه رو بگیر
PRINT String.length