:cry: 小弟用eclipse在自己做一个java swing小程序,结果在向SQL数据库插入数据的时候显示如下错误:
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]将截断字符串或二进制数据。
文本框都是字符型的数据,而SQL是varchar类型的,由于代码都编到一个.java文件,太长了就不都粘处来了,kx在最前面都申明了。请教下除了kx2.toCharArray();这个方法外还有其他能将"bcdefg” 转换为char类型的方法吗
private String kx1,kx2,kx3,kx41,kx42,kx43,kx44,kx46,kx45,kx47,kx48,kx49,kx5,kx6,kx7,kx8,kx9,kx10,kx11,kx12,kx13,kx14,kx15,kx16,kx17,kx18,kx[][];
void insertdate(){
String sqlStr,sqlStr1,sqlStr2,cardnumber,user_name,str1,str2,bannercode,day1,day2,day3;
ResultSet result;
Statement stmt;
Connection con;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:nxtj");
System.out.println("连接成功");
stmt=con.createStatement();
System.out.println("连接成功");
kx1=t1.getText();
kx2=t2.getText();
kx3=t3.getText();
kx5=t5.getText();
kx6=t6.getText();
//char b[] = kx2.toCharArray();------这个是网上说的类型string转换char类型,但是插入数据库是出错
//char c7=Character.valueOf(kx2).charValue();
//System.out.println("这是:"+b);
char c1=kx1.toString().charAt(0);
char c2=kx2.toString().charAt(i);
char c3=kx3.toString().charAt(0);
//char c4=kx4.toString().charAt(0);
char c5=kx5.toString().charAt(0);
char c6=kx6.toString().charAt(0);
sqlStr1="insert into NM01(Q1,Q2,Q3,Q4,Q5) values('" + c1 + "','" +c2+ "','" +c3 + "','" + c5 + "','" + c6 + "')";// 这里主要是C2的数据插入出现错误,kx2=“abcdefg”,
stmt.executeUpdate(sqlStr1);
sqlStr="select * from NM01";
result=stmt.executeQuery(sqlStr);
while(result.next())
{
cardnumber=result.getString(1);
user_name=result.getString(2);
day1=result.getString(3);
day2=result.getString(4);
day3=result.getString(5);
System.out.println(cardnumber);
System.out.println(user_name);
System.out.println(day1);
System.out.println(day2);
/* if(str2.equals(user_name))
{
//bannercode=result.getString("bannercode");
}*/
}
}
catch(ClassNotFoundException e)
{
}
catch(SQLException e)
{System.err.println(e);
}