【发布时间】:2022-01-25 05:39:32
【问题描述】:
https://i.stack.imgur.com/VBvoy.png https://i.stack.imgur.com/sSAci.png
每次我提交表单,而不是在 Access 中向我发送信息,它都会给我这个错误。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web.Security;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
public string fn = "", sn = "", un = "", ea = "", pa = "", by = "", co = "", msg2 = "";
protected void Page_Load(object sender, EventArgs e)
{
string sqlS = "";
string fileName = "RegDatabase.mdb";
if (IsPostBack)
{
fn = Request.Form["first_name"];
sn = Request.Form["sur_name"];
un = Request.Form["user_name"];
ea = Request.Form["email_address"];
pa = Request.Form["pass"];
by = Request.Form["birth_year"];
co = Request.Form["country"];
int bYear = int.Parse(by);
string selectQuery = "SELECT * FROM [SignUpDatabase] WHERE User_name = '" + un + "'";
if (!MyAdoHelper.IsExist(fileName, selectQuery))
{
sqlS = "INSERT INTO [SignUpDatabase] VALUES ('" + fn + "','" + sn + "','" + un + "'," + ea + "'," + pa + "'," + by + "'," + co + ")";
MyAdoHelper.DoQuery(fileName, sqlS);
}
}
}
}
如果您需要,这是代码。 想知道还有什么细节可以告诉你的。
【问题讨论】:
-
An image of your code is not helpful。将您有疑问的代码复制并粘贴到问题中,或者最好创建一个minimal reproducible example。使用代码格式化功能确保其他人可以轻松阅读。
-
欢迎来到Stack Overflow。对于您遇到的任何具体问题,请提供minimal reproducible example。另请阅读How do I ask a good question? 和What types of questions should I avoid asking?。确保您的问题是具体的而不是过于宽泛,另请参阅What topics can I ask about here?。另外,请务必使用tour(您会获得徽章!)。
-
请学习使用参数化sql语句,不要串接。
-
这里有很多问题。将字符串连接在一起时的 Sql Injection 问题暂时放在一边,但如果其中一个字符串包含单引号,您认为会发生什么?并且不指定字段的 INSERT 要求您为表中的每个字段传递值,现在查看 ea、pa、by 之前缺少的引号。如果你开始使用参数,这一切都不会发生
-
检查
sqlS的语法错误。修复它们,然后尝试在其中一个文本框中输入'。然后使用参数来修复它等等
标签: c# asp.net ms-access asp.net-web-api