情况是这样的
1.我用厂商提供的dll从考勤机上下载了人员信息,从中获取了人员信息(下载中有一个参数是Base64,考勤机牌子是中控)
2.然后用存储过程更新到数据库中,郁闷的是每个姓名总是:@姓名+ ??
3.写一个查询,结果姓名又能正常显示
想问一下有没有人知道问题可能处在什么地方
1.我用厂商提供的dll从考勤机上下载了人员信息,从中获取了人员信息(下载中有一个参数是Base64,考勤机牌子是中控)
2.然后用存储过程更新到数据库中,郁闷的是每个姓名总是:@姓名+ ??
3.写一个查询,结果姓名又能正常显示
想问一下有没有人知道问题可能处在什么地方
SqlCommand cmd = new SqlCommand("downloadUser", this.con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@userid", SqlDbType.Int);
cmd.Parameters.Add("@name", SqlDbType.NVarChar);
cmd.Parameters.Add("@cardno", SqlDbType.VarChar );
while (czkem.GetAllUserInfo(machineId,ref dwEnrollNumber, ref name,ref password ,ref privilege,ref enabled ))
{
cmd.Parameters["@userid"].Value =dwEnrollNumber ;
cmd.Parameters["@name"].Value = name;
czkem.GetStrCardNumber(out cardno);
cmd.Parameters["@cardno"].Value =Convert.ToInt32(cardno).ToString("0000000000");
cmd.ExecuteNonQuery();
}downloadUser 存储过程如下:create procedure [dbo].[downloadUser] @userid int,@name nvarchar(50) ,@cardno varchar(20)
as
begin
if exists(select * from userinfo where userid=@userid)
update userinfo set [name]=@name ,cardno=@cardno where userid=@userid
else
insert userinfo(userid,[name],cardno) values(@userid,convert(nvarchar,@name),@cardno)
end