如何解决ASP.Net MVC - 插入和更新
我正在尝试插入和更新我的数据库,但我不知道如何在这种情况下使用 sql。在 youtube 上关注 iamtimcorey。https://www.youtube.com/watch?v=bIiEv__QNxw&t=2322s
业务逻辑(EmloyeeProcessor)
public static int CreateEmployee(string Employee_number,string First_name,string Last_name,string Email,string Research_Area,string Position_held,string Highest_qualification,string Department_name)
{
Employee_Model data = new Employee_Model
{
Employee_number = Employee_number,First_name = First_name,Last_name= Last_name,Email = Email,Research_area = Research_Area,Position_held = Position_held,Highest_qualification = Highest_qualification,Department_name = Department_name,};
string sql = @"DECLARE @var_Department_id int;
SELECT @var_Department_id = Department_id
FROM dbo.Departments
WHERE dbo.Departments.Department_name = @Department_name;
INSERT INTO dbo.Employee (Employee_number,First_name,Last_name,Email,Research_area,Position_held,Highest_qualification,@var_Department_id)
VALUES (@Employee_number,@First_name,@Last_name,@Email,@Research_area,@Position_held,@Highest_qualification,@Department_name);";
return sqlDataAccess.SaveData(sql,data);
}
Department_name = Department_name
返回已存在于部门表中的字符串。部门名称是表部门中的字符串。我想将该表中匹配的 Department_id 传递给我正在创建的新员工。
public static class sqlDataAccess
{
public static string GetConnectionString(string connectionName = "DemoDB")
{
return ConfigurationManager.ConnectionStrings[connectionName].ConnectionString;
}
public static List<T> LoadData<T>(string sql)
{
using (IDbConnection cnn = new sqlConnection(GetConnectionString()))
{
return cnn.Query<T>(sql).ToList();
}
}
}
解决方法
我认为 SQL 查询应该是这样的:
DECLARE @var_Department_id int;
SELECT @var_Department_id = Department_id
FROM dbo.Departments
WHERE dbo.Departments.Department_name = @Department_name;
/*
Final insert into table dbo.Employee.
*/
INSERT INTO dbo.Employee (
Employee_number,First_name,Last_name,Email,Research_area,Position_held,Highest_qualification,Department_id --This was @var_Department_id in your query
)
VALUES (
@Employee_number,@First_name,@Last_name,@Email,@Research_area,@Position_held,@Highest_qualification,@var_Department_id --This was @Department_name in your query
);";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。