Asp.net 将文件上载到Internet时出错?

Asp.net 将文件上载到Internet时出错?,asp.net,ms-access,Asp.net,Ms Access,任何人都可以帮助我在尝试注册用户时出错,本地一切正常,但远程上传文件时出错。这是我的密码 Dim conn As OleDbConnection Dim strinsert As String Dim cmdinsert As OleDbCommand conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|sabersolutions.mdb

任何人都可以帮助我在尝试注册用户时出错,本地一切正常,但远程上传文件时出错。这是我的密码

    Dim conn As OleDbConnection
    Dim strinsert As String
    Dim cmdinsert As OleDbCommand

    conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|sabersolutions.mdb")
    strinsert = "INSERT INTO register(Name,Email,Passwords,Newsletter,ReportTemplates,ReturningMember,Sponsor)SELECT TOP 1 @Name,@Email,@Passwords,@Newsletter,@ReportTemplates,@ReturningMember,@Sponsor FROM register WHERE NOT EXISTS(SELECT 1 FROM register WHERE Name=@Name AND Email=@Email AND Passwords=@Passwords AND Newsletter=@Newsletter AND ReportTemplates=@ReportTemplates AND ReturningMember=@ReturningMember AND Sponsor=@Sponsor)"

    cmdinsert = New OleDbCommand(strinsert, conn)
    cmdinsert.Parameters.Add("@Name", OleDbType.VarWChar, 255).Value = txtName.Text
    cmdinsert.Parameters.Add("@Email", OleDbType.VarWChar, 255).Value = txtEmail.Text
    cmdinsert.Parameters.Add("@Passwords", OleDbType.VarWChar, 255).Value = txtPass.Text
    cmdinsert.Parameters.Add("@Sponsor", OleDbType.Boolean, 1).Value = ckSponsor.Checked
    cmdinsert.Parameters.Add("@Newsletter", OleDbType.Boolean, 1).Value = ckNews.Checked
    cmdinsert.Parameters.Add("@ReportTemplates", OleDbType.Boolean, 1).Value = ckReportTemp.Checked
    cmdinsert.Parameters.Add("@ReturningMember", OleDbType.Boolean, 1).Value = ckRSponsor.Checked
    cmdinsert.Parameters.Add("@Sponsor", OleDbType.Boolean, 1).Value = ckSponsor.Checked

    cmdinsert.Connection.Open()

    cmdinsert.ExecuteNonQuery()

    cmdinsert.Connection.Close()

    LblSuccess.Text = "You have successfully Register, Please Login to view our Online Booking Sytem."
我犯了一个错误

Server Error in '/' Application.

Operation must use an updateable query.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.OleDb.OleDbException: Operation must use an updateable query.

Source Error: 


Line 27:         cmdinsert.Connection.Open()
Line 28: 
Line 29:         cmdinsert.ExecuteNonQuery()
Line 30: 
Line 31:         cmdinsert.Connection.Close()

Source File: C:\inetpub\vhosts\sabersolutions.co.za\httpdocs\RegisterandLoginForm.aspx.vb    Line: 29 
堆栈跟踪:

   [OleDbException (0x80004005): Operation must use an updateable query.]
   System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) +1081356
   System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +247
   System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +194
   System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +58
   System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +167
   System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +113
   RegisterandLoginForm.Button2_Click(Object sender, EventArgs e) in C:\inetpub\vhosts\sabersolutions.co.za\httpdocs\RegisterandLoginForm.aspx.vb:29
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +118
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +112
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563

版本信息:Microsoft.NET Framework版本:4.0.30319;ASP.NET版本:4.0.30319.272

我甚至不是Access的新手,但您的查询中有一个错误

....
SELECT TOP 1 @Name,@Email,@Passwords,@Newsletter,
             @ReportTemplates,@ReturningMember,@Sponsor 
FROM register 
...
应该是,

....
SELECT TOP 1 Name,Email,Passwords,Newsletter,
             ReportTemplates,ReturningMember,Sponsor 
FROM register 
...
您的“可更新查询”问题很可能是您试图使用SQL server
UPDATE
query on Access,但是Access'
UPDATE
语法远不是标准语法,可能需要将子查询重写为联接。拥有更多访问权的人可能会帮助你


或者,您也可以尝试访问查询向导,该向导可以帮助您使用正确的访问语法重写查询。

可能重复Hey有人能告诉我我的代码有什么问题吗?为什么它在本地工作而不是远程工作,我不明白更新后的查询答案,有人能告诉我应该使用什么代码吗?请举例,我真的很难完成这个项目,谢谢advance@user1983152您是否尝试了上述访问查询向导?