.net - How do i output more text? -
i working on homemade forum exam , have discovered wierd problem. if input more 50 characters textarea made post content, data commited database when try show post, post object fails due constraint exception.
anybody know might causing this?
the field in database of type text.
line 139: datatable daldata = dalposts.getdatafirstpostinthreadid(id); line 140: line 141: post postobject = new post(convert.toint32(daldata.rows[0]["id"]), convert.toint32(daldata.rows[0]["fk_user_id"]), convert.toint32(daldata.rows[0]["fk_thread_id"]), daldata.rows[0]["contents"].tostring(), convert.todatetime(daldata.rows[0]["submissiondate"]), convert.toboolean(daldata.rows[0]["isdeleted"])); line 142: return postobject; line 143: error details:
system.data.constraintexception unhandled user code message=failed enable constraints. 1 or more rows contain values violating non-null, unique, or foreign-key constraints. source=system.data stacktrace: @ system.data.datatable.enableconstraints() @ system.data.datatable.set_enforceconstraints(boolean value) @ system.data.datatable.endloaddata() @ system.data.common.dataadapter.fillfromreader(dataset dataset, datatable datatable, string srctable, datareadercontainer datareader, int32 startrecord, int32 maxrecords, datacolumn parentchaptercolumn, object parentchaptervalue) @ system.data.common.dataadapter.fill(datatable[] datatables, idatareader datareader, int32 startrecord, int32 maxrecords) @ system.data.common.dbdataadapter.fillinternal(dataset dataset, datatable[] datatables, int32 startrecord, int32 maxrecords, string srctable, idbcommand command, commandbehavior behavior) @ system.data.common.dbdataadapter.fill(datatable[] datatables, int32 startrecord, int32 maxrecords, idbcommand command, commandbehavior behavior) @ system.data.common.dbdataadapter.fill(datatable datatable) @ daltableadapters.posttableadapter.getdatafirstpostinthreadid(int32 threadid) in c:\windows\microsoft.net\framework\v4.0.30319\temporary asp.net files\bp2010\62c352df\ee467897\app_code.rvxbfwcl.5.cs:line 7570 @ databll.postbll.objectfirstinthread(int32 id) in c:\users\stjerneklar\documents\my dropbox\sp2010 ballonparken\bp2010\app_code\databll\postbll.cs:line 139 @ databll.thread..ctor(string name, int32 id, int32 fk_category_id) in c:\users\stjerneklar\documents\my dropbox\sp2010 ballonparken\bp2010\app_code\databll\threadbll.cs:line 67 @ databll.threadbll.selectbycategoryid(int32 fk_category_id) in c:\users\stjerneklar\documents\my dropbox\sp2010 ballonparken\bp2010\app_code\databll\threadbll.cs:line 176 @ forumthreads.createthread(object sender, eventargs e) in c:\users\stjerneklar\documents\my dropbox\sp2010 ballonparken\bp2010\forumthreads.aspx.cs:line 49 @ system.web.ui.webcontrols.button.onclick(eventargs e) @ system.web.ui.webcontrols.button.raisepostbackevent(string eventargument) @ system.web.ui.webcontrols.button.system.web.ui.ipostbackeventhandler.raisepostbackevent(string eventargument) @ system.web.ui.page.raisepostbackevent(ipostbackeventhandler sourcecontrol, string eventargument) @ system.web.ui.page.raisepostbackevent(namevaluecollection postdata) @ system.web.ui.page.processrequestmain(boolean includestagesbeforeasyncpoint, boolean includestagesafterasyncpoint) innerexception: i have no other content in related tables might affect things, , if shorten text works fine.
edit: figured out in end(the night before handing in assignment) offending field defined having maxlenght of 50 chars in dataset.
as far can see, possible created tableadapter once , change schema of table in db, allowing more characters in column. if case, go table adapter, select column (in visual editor) , edit properties (maxlength).
you using tableadapters. tableadapters fast way create data access hard mantain... recommend stop using them , switch plain ado.net core (dataadapters, datareaders, etc).
hope helps!
Comments
Post a Comment