#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字段

解决方案 »

  1.   

    你的"emp_dept1_id"这列没有查入值 "emp_dept1_id不能插入null" 
    你最好根据数据的设计处理 
    最好是自己写ID(主键)使用GUID生成就可以
      

  2.   

    数据库有不能为空列,而你给它的值是空的,调试把Sql语句拿到数据库试下就知道了
      

  3.   

    可以到网上下一个代码生成工具啊,可以帮助你生成model,bll,dal层的代码