向SQL Server 2005中插入字符,出现"......"
String user=request.getParameter("user");
String userpassword=request.getParameter("userpassword");
Connection ct=null;
PreparedStatement pst=null;
ResultSet rs=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ct=DriverManager.getConnection("jdbc:odbc:mytest");
pst=ct.prepareStatement("insert into usersTable values(?,?,null,null,null,null)");
pst.setString(1,user.trim());
pst.setString(2,userpassword.trim());
int i=pst.executeUpdate();
if(i!=-1) out.println("注册成功!");
在JSP中运行上面这代码,没问题,数据库中也有新的数据插入,例如:username='juan'
但是我再从数据库中读取出数据时,得到的字符长度不是 4 ,却是原来定义好的长度为50[在数据库中使用 varchar(50),navrch(50)也不行 ]
想知道要怎么样才能得到实际的长度???
------解决方案--------------------得到的数据长度本来就是 4,你添加的是数据为
username='juan'
这个参数的长度本来就是4
取出的数据长度是数据本身的长度,而不是数据库定义的长度
------解决方案--------------------楼主所说的得到的字符长度,是怎样得到的?
------解决方案--------------------varchar(50)
再不行的话就处理一下吧,读取的时候 sql rtrim()函数去掉字符的空格
------解决方案--------------------进入数据库 表 设计表 选项 把“校验和”前面的勾取消掉 试试
------解决方案--------------------用一个中间变量试试:
String str=rs.getString('juan');
System.out.println(str.length);