这个错误有谁见过?
google和baidu都查不到 msdn里也没有
代码如下:
#region 插入后台用户操作
//----------------------------------------------------------------
// 函数 GetInsertCommand:
// 初始化命令适配器 Insert command 的参数
//----------------------------------------------------------------
private OleDbCommand GetInsertCommand()
{
OleDbCommand tmpInsertCommand = null; sqlString = "INSERT INTO SysUsers(LoginId,Password,Name,Email) SELECT @LoginId,@Password,@Name,@Email"; if (tmpInsertCommand == null)
{
tmpInsertCommand = new OleDbCommand(sqlString, new OleDbConnection(HitCrownConfiguration.ConnectionString)); OleDbParameterCollection oleParams = tmpInsertCommand.Parameters; oleParams.Add(new OleDbParameter("@PKId", OleDbType.Integer));
oleParams.Add(new OleDbParameter("@LoginId", OleDbType.VarChar, 20));
oleParams.Add(new OleDbParameter("@Password", OleDbType.Binary));
oleParams.Add(new OleDbParameter("@Name", OleDbType.VarChar, 40));
oleParams.Add(new OleDbParameter("@Email", OleDbType.VarChar, 50));
//
// 定义参数与数据表的映射
//
oleParams["@PKId"].SourceColumn = SysUserData.PKID_FIELD;
oleParams["@PKId"].Direction = ParameterDirection.Output; oleParams["@LoginId"].SourceColumn = SysUserData.LOGINID_FIELD;
oleParams["@Password"].SourceColumn = SysUserData.PASSWORD_FIELD;
oleParams["@Name"].SourceColumn = SysUserData.NAME_FIELD;
oleParams["@Email"].SourceColumn = SysUserData.EMAIL_FIELD;
} return tmpInsertCommand;
}
/// <summary>
/// 向数据库中插入一条新用户记录
/// <param name="sysUser">包含详细用户信息的SysUsersData</param>
/// <retvalue>插入成功或失败的返回值</retvalue>
/// </summary>
public bool InsertSysUser(SysUserData sysUser)
{
if (dsCommand == null)
{
throw new System.ObjectDisposedException(GetType().FullName);
} dsCommand.InsertCommand = GetInsertCommand(); dsCommand.Update(sysUser, SysUserData.SYSUSERS_TABLE);
//
// 检查是否更新失败
//
if (sysUser.HasErrors)
{
sysUser.Tables[SysUserData.SYSUSERS_TABLE].GetErrors()[0].ClearErrors();
return false;
}
else
{
sysUser.AcceptChanges();
return true;
}
}
#endregion
说明:sysUser参数是由业务层传递过来的一个dataset
执行dsCommand.Update时出现上述错误
google和baidu都查不到 msdn里也没有
代码如下:
#region 插入后台用户操作
//----------------------------------------------------------------
// 函数 GetInsertCommand:
// 初始化命令适配器 Insert command 的参数
//----------------------------------------------------------------
private OleDbCommand GetInsertCommand()
{
OleDbCommand tmpInsertCommand = null; sqlString = "INSERT INTO SysUsers(LoginId,Password,Name,Email) SELECT @LoginId,@Password,@Name,@Email"; if (tmpInsertCommand == null)
{
tmpInsertCommand = new OleDbCommand(sqlString, new OleDbConnection(HitCrownConfiguration.ConnectionString)); OleDbParameterCollection oleParams = tmpInsertCommand.Parameters; oleParams.Add(new OleDbParameter("@PKId", OleDbType.Integer));
oleParams.Add(new OleDbParameter("@LoginId", OleDbType.VarChar, 20));
oleParams.Add(new OleDbParameter("@Password", OleDbType.Binary));
oleParams.Add(new OleDbParameter("@Name", OleDbType.VarChar, 40));
oleParams.Add(new OleDbParameter("@Email", OleDbType.VarChar, 50));
//
// 定义参数与数据表的映射
//
oleParams["@PKId"].SourceColumn = SysUserData.PKID_FIELD;
oleParams["@PKId"].Direction = ParameterDirection.Output; oleParams["@LoginId"].SourceColumn = SysUserData.LOGINID_FIELD;
oleParams["@Password"].SourceColumn = SysUserData.PASSWORD_FIELD;
oleParams["@Name"].SourceColumn = SysUserData.NAME_FIELD;
oleParams["@Email"].SourceColumn = SysUserData.EMAIL_FIELD;
} return tmpInsertCommand;
}
/// <summary>
/// 向数据库中插入一条新用户记录
/// <param name="sysUser">包含详细用户信息的SysUsersData</param>
/// <retvalue>插入成功或失败的返回值</retvalue>
/// </summary>
public bool InsertSysUser(SysUserData sysUser)
{
if (dsCommand == null)
{
throw new System.ObjectDisposedException(GetType().FullName);
} dsCommand.InsertCommand = GetInsertCommand(); dsCommand.Update(sysUser, SysUserData.SYSUSERS_TABLE);
//
// 检查是否更新失败
//
if (sysUser.HasErrors)
{
sysUser.Tables[SysUserData.SYSUSERS_TABLE].GetErrors()[0].ClearErrors();
return false;
}
else
{
sysUser.AcceptChanges();
return true;
}
}
#endregion
说明:sysUser参数是由业务层传递过来的一个dataset
执行dsCommand.Update时出现上述错误
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货