我正在为我的学生项目创建一个网上咖啡店。
因为它是一个大文件,我不确定任何人需要哪个部分,这里是github link
我已经创建了一个注册表单,我已经创建了一个订单。
当我尝试注册时,我在第二页上收到此错误
完整邮件错误是: 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Data.SqlClient.SqlException:列名称' phoneNumber'在INSERT的SET子句或列列表中多次指定。在同一子句中不能为列分配多个值。修改子句以确保列只更新一次。如果此语句将列更新或插入到视图中,则列别名可以隐藏代码中的重复。
来源错误:
第164行:
第165行:};
第166行:var result = await UserManager.CreateAsync(user,model.Password);
第167行:if(result.Succeeded)
第168行:{
完整日志如下:
[SqlException(0x80131904):列名称' phoneNumber'已指定 INSERT的SET子句或列列表中不止一次。一栏 不能在同一子句中分配多个值。修改 确保列只更新一次的子句。如果这 语句更新或将列插入到视图中,列别名可以 隐藏代码中的重复。]
System.Data.SqlClient.SqlConnection.OnError(SqlException异常, Boolean breakConnection,Action1 wrapCloseInAction) +212
1 wrapCloseInAction)+81
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,Boolean callerHasConnectionLock,Boolean asyncClose)+630
System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler,SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj,布尔& dataReady)+4222
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior,String resetOptionsString,Boolean isInternal,Boolean forDescribeParameterEncryption)+261
System.Data.SqlClient.SqlCommand.CompleteAsyncExecuteReader(布尔 isInternal,Boolean forDescribeParameterEncryption)+254
System.Data.SqlClient.SqlCommand.InternalEndExecuteNonQuery(IAsyncResult的 asyncResult,String endMethod,Boolean isInternal)+651
System.Data.SqlClient.SqlCommand.EndExecuteNonQueryInternal(IAsyncResult的 asyncResult)+245
System.Data.SqlClient.SqlCommand.EndExecuteNonQueryAsync(IAsyncResult的 asyncResult)+151
System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func
2 endFunction,Action1 endAction, Task
1 promise,Boolean requiresSynchronization)+86
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)+99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)+61 System.Data.Entity.Utilities.CultureAwaiter`1.GetResult() +38 System.Data.Entity.Core.Mapping.Update.Internal.d__0.MoveNext() +2736 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)+99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)+61
System.Data.Entity.Core.Mapping.Update.Internal.d__0.MoveNext() 398[UpdateException:更新条目时发生错误。看到 细节的内在例外。]
System.Data.Entity.Core.Mapping.Update.Internal.d__0.MoveNext() +631 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)+99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)+61
System.Data.Entity.Core.Objects.d__3d1.MoveNext() +743 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
1.MoveNext() +348 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)+99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +61
System.Data.Entity.Core.Objects.<SaveChangesToStoreAsync>d__39.MoveNext() +386 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +61
System.Data.Entity.SqlServer.<ExecuteAsyncImplementation>d__9
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)+61
System.Data.Entity.Core.Objects.d__31.MoveNext() 802[DbUpdateException:更新条目时发生错误。看到 细节的内在例外。]
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)+99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)+61
Microsoft.AspNet.Identity.EntityFramework.d__5a.MoveNext() +217 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)+99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)+61
Microsoft.AspNet.Identity.EntityFramework.d__16.MoveNext() +250 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)+99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)+61 Microsoft.AspNet.Identity.CultureAwaiter.GetResult()+35 Microsoft.AspNet.Identity.d__0.MoveNext()+1126
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)+99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)+61 Microsoft.AspNet.Identity.d__d.MoveNext() +550 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)+99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)+61 System.Runtime.CompilerServices.TaskAwaiter1.GetResult() +28 registrationLogin.Controllers.<Register>d__15.MoveNext() in C:\Users\Itzik Private\Documents\GitHub\DatabaseMVC\registrationLogin\registrationLogin\Controllers\AccountController.cs:166 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
1.CallEndDelegate(IAsyncResult) asyncResult)+10
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +61
System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult) +97
System.Web.Mvc.Async.<>c__DisplayClass8_0.<BeginInvokeAsynchronousActionMethod>b__1(IAsyncResult asyncResult) +17
System.Web.Mvc.Async.WrappedAsyncResult
System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
1.CallEndDelegate(IAsyncResult的 asyncResult)+10
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32
System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__11_0() +50 System.Web.Mvc.Async.<>c__DisplayClass11_1.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2() +228 System.Web.Mvc.Async.<>c__DisplayClass7_0.<BeginInvokeActionMethodWithFilters>b__1(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResult
System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
1.CallEndDelegate(IAsyncResult的 asyncResult)+10
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34
System.Web.Mvc.Async.<>c__DisplayClass3_6.<BeginInvokeAction>b__3() +35 System.Web.Mvc.Async.<>c__DisplayClass3_1.<BeginInvokeAction>b__5(IAsyncResult asyncResult) +100
System.Web.Mvc.Async.WrappedAsyncResult
System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
1.CallEndDelegate(IAsyncResult的 asyncResult)+29
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27
System.Web.Mvc.<>c.<BeginExecuteCore>b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState) +11
System.Web.Mvc.Async.WrappedAsyncVoid
System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
1.CallEndDelegate(IAsyncResult的 asyncResult)+22
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +45 System.Web.Mvc.<>c.<BeginExecute>b__151_2(IAsyncResult asyncResult, Controller controller) +13
System.Web.Mvc.Async.WrappedAsyncVoid
System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
1.CallEndDelegate(IAsyncResult的 asyncResult)+29
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
System.Web.Mvc.<>c.<BeginProcessRequest>b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState) +28
System.Web.Mvc.Async.WrappedAsyncVoid
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End()+49
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +28 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult) 结果)+9
System.Web.CallHandlerExecutionStep.InvokeEndHandler(IAsyncResult ar) +152 System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult) ar)+126
答案 0 :(得分:2)
错误非常明显,您尝试使用插入查询,但在推荐中指定了phone number
列两次:
列名称&#39; phoneNumber&#39;在INSERT的SET子句或列列表中多次指定。
再次检查您的查询并消除双重冲突,它将解决您的问题。
答案 1 :(得分:1)
例外基本上是说你在SET子句中多次指定phoneNumber
时,在表中插入值,即
INSERT INTO TestTable(Id, Name, phoneNumber, Age, phoneNumber)
SELECT * FROM BLABLA
在phoneNumber
和Name
之后注意加倍Age
。
答案 2 :(得分:0)
检查文件。 同一个人可能在一个记录中有多个输入CRLF。有时人们有多个电话号码,并且可能在CSV文件中用分隔。如果您还算不错,只需按逗号分隔即可。您的一行中有一个逗号,因此最后一列会重复出现。 查找具有两个数字的人。 另一种方法是将文件分成两个小块,例如10个小文件一个一个地加载,您将看到其中至少一个失败,然后再次将失败的文件拆分并继续这样做。
答案 3 :(得分:0)
检查数据绑定或映射,您可能会意外地将同一列的其他控件或字段绑定/映射。另一种可能性是您使用相同的变量名来引用控件或字段。我在任何地方都使用Alpha软件,遇到了同样的问题,并且在修复了数据绑定并更改了变量名后设法解决了该问题。可能会有一点差异,但根可以相同。希望这个帮助!