奇怪了,修改数据库里面的数据出现乱码,帮我看看是什么问题
很奇怪!
我用 c#+ASP.NET +SQL Server
进行数据更新的时候出现奇怪的错误!
使用单字节字符修改内容的时候没有什么问题,但是使用汉字内容提交的时候就得到乱码,长度无规则。
请问是什么原因呢?
关键代码如下:
String strSql="select * from spmember where account='"+strAccount+"'";
SqlDataAdapter myAdapter=new SqlDataAdapter(strSql,fygConn);
DataSet myDataSet=new DataSet();
myAdapter.Fill(myDataSet,"spmemberdfg");
DataTable myDataTable=myDataSet.Tables["spmemberdfg"];
if(myDataTable.Rows.Count==1)
{
DataRow myDataRow=myDataTable.Rows[0];
if(strPwd!=""||strPwd2!="")
{
if(strPwd0==myDataRow["pwd"].ToString())
{
if(strPwd==strPwd2)
{
myDataRow["pwd"]=strPwd;
}
else
{
errStr="两次输入的密码不相同,维持原密码!";
}
}
else
{
errStr="原密码输入不正确,维持原密码!";
}
}
myDataRow["email"]=GetLenStr(strEmail,100);
myDataRow["realName"]=GetLenStr(strRealName,100);
myDataRow["sex"]=GetLenStr(strSex,100);
myDataRow["address"]=GetLenStr(strAddress,100);
myDataRow["postCode"]=GetLenStr(strPostcode,100);
myDataRow["phone"]=GetLenStr(strPhone,100);
myDataRow["mobile"]=GetLenStr(strMobile,100);
myDataRow["qq"]=GetLenStr(strQq,100);
SqlCommandBuilder mycb=new SqlCommandBuilder(myAdapter);
myAdapter.InsertCommand=mycb.GetInsertCommand();
myAdapter.Update(myDataSet,"spmemberdfg");
errStr+="<br>资料修改完毕!";
}
其中的GetLenStr函数定义如下:
static public String GetLenStr(String str,int iLen)
{
if(str.Length>iLen)
return str.Substring(0,iLen);
else return str;
}
我才学C#+ ASP。NET 10多天的时间。
各位大哥帮忙!
多谢!