【发布时间】: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