【发布时间】:2018-06-19 16:04:45
【问题描述】:
以下查询
Connection.Query<User>("select * from User where Login=@login and Passwd=@passwd", new { login = _login, passwd=_passwd})
返回以下错误
必须声明标量变量@login
用户模型:
public class User
{
public int Id { get; set; }
public string Login { get; set; }
public string Passwd { get; set; }
}
更新:
我的问题来自 SQL 连接
我的连接字符串是
new OleDbConnection(@"Provider=sqloledb;Data Source=MYPC\SQLEXPRESS;Initial Catalog=MYDB;User Id=sa;Password=****;");
我已经改成
new SqlConnection(@"Data Source=MYPC\SQLEXPRESS;Initial Catalog=MYDB;User Id=sa;Password=****;");
【问题讨论】:
-
你用的是什么数据库?
-
当你停在断点处时,
_login有值吗? -
@MarioGuadanhim 这在任何 sql 数据库引擎中都是大罪。永远不要连接字符串来构建 sql 命令
-
@Steve 我正在使用 SQL Server