c# - 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.phone, B.email, B.idUser FROM tblBranchUser A
INNER JOIN tblUsers B ON A.idUser = B.idUser
WHERE A.idBranch = " + idBranch.ToString();
推荐阅读
- vba - 传入消息的副本为空白
- android - 如何创建包含我的其他两个应用程序的主应用程序
- spring-boot - 如何在集群模式下使用石英调度器和 Spring Boot 创建简单的 hello world?
- java - 如何从 json 数组中提取值
- php - 通过 HTML 表单无限时间输入
- c++ - 访问类的嵌套私有类
- c# - “baseSiteUrl”在 SPSite 中应该是什么样子?
- sql - System.TypeInitializationException:"Webservice.Helper.SqlHelper",System.NullReferenceException
- macos - 如何从 Mac 卸载 Appium 桌面及其缓存文件?
- powershell - Web App 无法创建提示“请求超时”