如何解决Asp.NET C#MVC-如何显示具有倍数表的查询结果
我正在执行以下代码:
public ActionResult BranchUser(int ? idBranch)
{
CtrForm objCtrForm = new CtrForm();
objCtrForm.Connect();
objCtrForm.query.Connection = objCtrForm.connection;
objCtrForm.query.CommandType = CommandType.Text;
List<tblUser> listBranchUser = new List<tblUser>();
string sql = @"SELECT B.name,B.phone,B.email,B.idUser FROM tblBranchUser A
INNER JOIN tblUsers B ON A.idUser = B.idUser
WHERE A.idBranch = " + idBranch;
objCtrForm.query.CommandText = sql;
objCtrForm.connection.Open();
SqlDataReader sReader = objCtrForm.query.ExecuteReader();
while (sReader.Read())
{
listBranchUser.Add(
new tblUser
{
idUser = Convert.ToInt32(sReader["idUser"]),name = Convert.ToString(sReader["name"]),phone = Convert.ToString(sReader["phone"]),email = Convert.ToString(sReader["email"])
}
);
}
objCtrForm.connection.Close();
return View(listBranchUser);
}
但是调用函数时出现以下错误:
System.Data.SqlClient.SqlException:''='附近的语法不正确。'
我不明白为什么得到这个,因为我在其他函数中执行过,但是我只调用了一个表,而不是两个。任何建议,我将不胜感激。
解决方法
我相信C#不会将整数隐式转换为字符串。
尝试更换
string sql = @"SELECT B.name,B.phone,B.email,B.idUser FROM tblBranchUser A
INNER JOIN tblUsers B ON A.idUser = B.idUser
WHERE A.idBranch = " + idBranch;
使用
string sql = @"SELECT B.name,B.idUser FROM tblBranchUser A
INNER JOIN tblUsers B ON A.idUser = B.idUser
WHERE A.idBranch = " + idBranch.ToString();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。