当前位置: 代码迷 >> VB Dotnet >> 字符串格式化有关问题,很诡异
  详细解决方案

字符串格式化有关问题,很诡异

热度:54   发布时间:2016-04-25 02:05:20.0
字符串格式化问题,很诡异
sqltxt = String.Format("INSERT INTO mc_user (userid, Name, Password, power, Enabled) VALUES('{0}','{1}','{2}',{3},{4})", dwEnrollNumber, name, dwPassword, dwPrivilege, dwEnabled)

                    Debug.Print(sqltxt)
                    Debug.Print(dwEnrollNumber)
                    Debug.Print(dwName)
                    Debug.Print(dwPassword)
                    Debug.Print(dwPrivilege)
                    Debug.Print(dwEnabled)

Debug输出如下:
INSERT INTO mc_user (userid, Name, Password, power, Enabled) VALUES('10201','管理员10201
管理员159357
3
True
单个输出没问题,为什么格式化却输出一半内容,并且dwName.length也没无返回
------解决思路----------------------
如果你始终说不出dwName里到底存了什么
只说正常
那么别人也无从判断为什么会这样,只能靠各种猜
------解决思路----------------------
你那字符串从那里来的?通过Win32API取得的么?如果那估计是你的取返回串的代码有问题
按你现在这个搞法,只取\x00字符串前面的应该就是对的
var i= dwName.IndexOf('\x0');
if(i!=-1)
  dwName=dwName.Substring(0,i);

  相关解决方案