读书人

.net自动生成数据层的有关问题

发布时间: 2012-01-01 23:10:55 作者: rapoo

.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层的代码

读书人网 >C#

热点推荐