.net自动生成数据层的问题
#region//新增员工
public int InsertEmployee(int empid, string empno, string empname,byte sex)
{
per.database.EmployeeDataSetTableAdapters.per_employee1TableAdapter adapter = new per.database.EmployeeDataSetTableAdapters.per_employee1TableAdapter();
EmployeeDataSet.per_employee1DataTable table = new EmployeeDataSet.per_employee1DataTable();
EmployeeDataSet.per_employee1Row row = table.Newper_employee1Row();
empid=Convert.ToInt32(adapter.up_create_id("per_employee", "emp_id", 0))+1;
row[table.emp_idColumn] = empid;
row[table.emp_noColumn] = empno;
row[table.emp_nameColumn] = empname;
row[table.sexColumn] = sex;
table.Rows.Add(row);
DataTable dt = table.GetChanges();
try
{
adapter.Update(table); ApplicationLog.WriteLog("Person", "员工", 1, table.emp_idColumn.ColumnName, table.emp_nameColumn.ColumnName, dt, null);
return 1;
}
catch (Exception ex)
{
ApplicationLog.WriteLog("Person", "员工", 1, table.emp_idColumn.ColumnName, table.emp_nameColumn.ColumnName, dt, ex.Message);
return -1;
}
}
update会报错,错误是列emp_dept1_id不能插入null,发生在表f3gsd_per_employee1
注:数据库中表名是per_employee ,且没有emp_dept1_id字段
------解决方案--------------------看着有点晕,纯友情up
------解决方案--------------------
你的"emp_dept1_id"这列没有查入值 "emp_dept1_id不能插入null"
你最好根据数据的设计处理
最好是自己写ID(主键)使用GUID生成就可以
------解决方案--------------------数据库有不能为空列,而你给它的值是空的,调试把Sql语句拿到数据库试下就知道了
------解决方案--------------------好像是类型化的问题
你再检查一下类型化正确否??
------解决方案--------------------可以到网上下一个代码生成工具啊,可以帮助你生成model,bll,dal层的代码