這是我的類代碼:
using System;
using System.Collections.Generic;
namespace Student_InfoFORM
{
public partial class tblStudentform {
{
public static void createStudentform(string idno, string fname, string mname, string lname, string add, string email)
{
Student_InfoFORM.studentFormEntities container = new Student_InfoFORM.studentFormEntities()。
tblStudentform std = new tblStudentform
{
stud_id = idno,
firstname = fname,
中名 = mname,
lastname = lname,
地址 = add,
emailadd = email
};
container.tblStudentforms.AddObject(std);
container.SaveChanges();
}
}
}
這就是來自SaveChanges()呼叫的資訊:
在更新條目時發生了一個錯誤。詳情請看內部例外。
而這是每次我保存我的應用程式中輸入的資料時的內部例外:
System.Data.UpdateException未被用戶代碼處理
System.Data.UpdateException被用戶代碼處理。 HResult=-2146233087
Message=在更新條目時發生了錯誤。詳情見內部例外。
來源=System.Data.EntityStackTrace:
。
at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)
在System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache)
。 在System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options)
。 在System.Data.Objects.ObjectContext.SaveChanges()
。 at Student_InfoFORM.tblStudentform.createStudentform(String idno, String fname, String mname, String lname, String add, String email) in C:Usersadmin2DocumentsVisual Studio 2010ProjectsStudent_InfoFORMStudent_InfoFORM blStudentform.cs:line 24
at Student_InfoFORM._Default.Button1_Click(Object sender, EventArgs e) in C:Usersadmin2DocumentsVisual Studio 2010ProjectsStudent_InfoFORMStudent_InfoFORMDefault.aspx.cs:line 19
。 在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)
。 at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
。 在System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)內部例外。系統.資料.SqlClient.SqlException
。 HResult=-2146232060
訊息=字串或二進制資料將被截斷。該陳述句已被終止。
來源=.Net SqlClient資料提供者
ErrorCode=-2146232060
Class=16 LineNumber=1 Number=8152
Procedure=""Server=SQLEXPRESSState=14StackTrace:
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)at System.Data.SqlClient.SqlInternalConnection。 one rror(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)在System.Data.SqlClient.TdsParser. TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)在System.Data.SqlClient.SqlCommand. FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)在System.Data.SqlClient.SqlCommand. RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)在System.Data.SqlClient.SqlCommand. RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)在System.Data.SqlClient.SqlCommand. InternalExecuteNonQuery(TaskCompletionSource1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)在System.Data.SqlClient.SqlCommand.ExecuteNonQuery()在System.Data.Mapping.Update.Internal. DynamicUpdateCommand.Execute(UpdateTranslator translator, EntityConnection connection, Dictionary2 identifierValues, List1 generatedValues)在System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter) InnerException:
uj5u.com熱心網友回復:
這個錯誤意味著你傳遞了一個錯誤的型別,或者資料對于當前列來說太大了。我建議在字串可用的情況下使用nvarchar。如果你需要改變列的大小,你可以使用
。ALTER TABLE TableName
ALTER COLUMN ColumnName TypeName(Size)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/314818.html
標籤:
