【问题标题】:ASMX Web Service to Store User Data using SQL Server-SQL Error使用 SQL Server 存储用户数据的 ASMX Web 服务-SQL 错误
【发布时间】:2012-03-18 16:01:47
【问题描述】:

我正在尝试在 Visual Web Developer 中创建一个 ASMX Web 服务。我已成功实现以下内容

  • 创建了一个包含电子邮件、名称列的数据库
  • 创建了一个服务

我还指定了连接字符串 web.config 之类的

<connectionStrings>
  <add name="mydb" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|Database.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
    </connectionStrings>

但在服务表单中输入数据后,我得到一个 SQL 异常“@Name 附近的语法不正确”

[WebMethod]
public string insertuser(String UserName,String Email)
{

    string connectionString = ConfigurationManager.ConnectionStrings["mydb"].ConnectionString;

    SqlConnection sqlCon = new SqlConnection(connectionString);
    SqlCommand nonqueryCommand = sqlCon.CreateCommand();
    sqlCon.Open();
    nonqueryCommand.CommandText = "INSERT  INTO UID (Email, Name) VALUES (@Email, @Name";

    // Add Parameters to Command Parameters collection
    nonqueryCommand.Parameters.Add("@Email", SqlDbType.VarChar, 10);
    nonqueryCommand.Parameters.Add("@Name", SqlDbType.VarChar, 20);


    nonqueryCommand.Parameters["@Email"].Value = UserName;
    nonqueryCommand.Parameters["@Name"].Value = Email;


    nonqueryCommand.ExecuteNonQuery();
    return "done";

}

【问题讨论】:

  • 您真的尝试过调试吗?插入语句中缺少右括号
  • 同上是 nonqueryCommand.CommandText = "INSERT INTO UID (Email, Name) VALUES (@Email, @Name"; 它应该是 nonqueryCommand.CommandText = "INSERT INTO UID (Email, Name)值(@Email,@Name)“;​​
  • 感谢支持。我解决了。

标签: c# sql-server database web-services asmx


【解决方案1】:

正如 andomar 正确指出的那样,您的 sql 命令中缺少右括号

您可以在 sql 中生成插入命令并将生成的 sql 粘贴到您的代码中。

IE 你的代码应该是这样的

nonqueryCommand.CommandText = "INSERT INTO UID (Email, Name) VALUES (@Email, @Name)";

【讨论】:

    【解决方案2】:

    添加右括号:

    VALUES (@Email, @Name";
    

    【讨论】:

      【解决方案3】:

      您缺少右括号:

      VALUES (@Email, @Name)";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多