我有以下特性Employee類如何插入SQL數據庫空使用十進制類型或字符串的C#對象屬性或INT
class Employee{
public int? EmployeeId {get; set;}
public string Name{get; set;}
public decimal? Salary{get; set;}
}
我已經創建了一個對象
Employee emp = new Employee(){EmployeeId = 10, Name = "Peter", Salary = 1000.0}
我下面寫有插入查詢LoadEmployee()將Employee對象數據插入Employee表的方法
public static void LoadEmployee(Employee obj){
string sqlString = @"Insert into dbo.Employee (EmpId, Name, Salary values ('"+ obj.EmployeeId + "','"+ obj.Name + "','"+obj.Salary"')";
SqlCommand queryCommand = new SqlCommand(sqlString, this.sdwDBConnection);
queryCommand.Executereader();
}
當我們對EmpId,Name或Salary有非空值時,代碼工作正常。挑戰是名稱或員工標識或薪資可以爲空。使用以下語句,我可以將空值分配給工資。
emp.Salary = null;
emp.Name = null;
將插入查詢後,當我在數據庫驗證,名稱與字符串值更新「空」和爲0。我期待空值的工資更新爲被插入到Employee表名和字段工資。
請幫我在這種情況下如何在數據庫中爲Name或Salary插入null。
你正在創建一個字符串,而c#不知道這是一個SQL字符串。你的null可能會變成一個普通的簡潔的空字符串。如果你想以這種方式插入一個null,你可以在查詢字符串中嵌入字符'n','u','l','l'。 –