数据库插入int 和 float 类型的数据,出现类型转换错误

int qua=Integer.parseInt(A4.getText());
int qis=Integer.parseInt(A5.getText());
float uni=Float.parseFloat(A7.getText());
float tot=Float.parseFloat(A8.getText());
String sql="insert into djdatil (Did,Cid,Mid,Quantitly,QiShu,UnitPrice,Total) values('"+did+"','"+cid+"','"+mid+"','"+qua+"','"+qis+"','"+uni+"','"+tot+"')";

stmt.executeUpdate(sql);

String sql="...."+qis+"...."+uni+tot

这个本来就是字串运算,用A7.getText()就对了,你上面转换成int和float 是画蛇添足反成乱了。追问

可是数据库要求 数据不是varchar类型的 而是int 和 float类型 所以 要把输入的数据改成 int 和float 你的方法 我试了一下不可以

追答

那是因为你SQL串里对这些数字还加了引号的缘故!
把你这些都删了,用一句 String sql="insert into djdatil (Did,Cid,Mid,Quantitly,QiShu,UnitPrice,Total) values('"+did+"','"+cid+"','"+mid+"',"+A4.getText()+","+A5.getText()+","+A7.getText()+","+A8.getText()+")";
就行了

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-01-03
sql语句错误,进行字符串拼接时,int类型数据不需要加‘’追问

问题 我已经解决了 sql语句没有错误 int 和float 类型也需要转换的
程序过程中有一个小的失误 还是谢谢

mysql往数据库插入float类型的数据 为什么数字不对?
float类型可以存浮点数,但是float有缺点,当不指定小数位数的时候,就会出现小数位数与想要的不一致,导致“报错”。在创建浮点类型的时候必须指定小数位数,float(m,d),m表示的是最大长度,d表示的显示的小数位数。虽然两个类型的值有相似也有不相似,但定义的是float、插入的值只要不出错肯定是float类...

...提示:将数据类型 varchar 转换为 float 时出错。
在数据库操作中,遇到将varchar数据类型转换为float类型时出现错误,这是由于数据类型的不兼容性所引起的。为了解决这个问题,我们可以通过以下步骤来处理:首先,打开数据库管理工具NavicatPremium,新建一个表结构,特别地,将age列设置为varchar类型,以模拟实际操作环境。接着,为这个新表填充一些数据,这有...

...提示:将数据类型 varchar 转换为 float 时出错。
原因:转换错误导致。解决方法:重新查看内容来解决此问题。如下参考:1.打开数据库连接客户端NavicatPremium,并创建一个新的表结构,其中age列被故意设置为varchar。2.成功创建表之后,为表创建一些数据,如下所示。3.当有少量数据时,可以使用sum()函数直接求和,因为在SQL中它可以自动识别是字符串类型...

 将一个float类型数据直接赋值给int类型变量,程序编译时提示怎样...
char 和 short 并没有出现于这个等级列表,是因为它们应该已经被升级成了 int 或者 unsigned int。3. 在任何涉及两种数据类型的操作中,它们之间等级较低的类型会被转换成等级较高的类型。4. 在赋值语句中,= 右边的值在赋予 = 左边的变量之前,首先要将右边的值的数据类型转换成左边变量的类型。也...

[Error] invalid operands of types 'float' and 'int' to binary...
错误提示告诉你,% 的所有两边,一个是整形(int),一个是浮点型(float),类型不匹配报错,所以你把应该把 z 这个变量定义成整形。虽然C语言可以将多个变量一起定义,但是还是分开声明看着比较舒服,也容易找错。不要去记忆运算符的优先顺序,应为没有意义。比如你写的函数里面的第二行,计算num的这...

python 数据类型转换错误 TypeError: can't multiply sequence by non...
程序中cv是列表:[0.37,0.48,0.55,0.63]不能与数字相乘,只能一个一个相乘;def com_cs_func(cv):cs=[3.5*num for num in cv]return cs 返回的还是列表。补充:Python 1、简介 Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行...

C51中出现多个float定义类型的数据组成的公式为什么会报错
你的程序,是可以通过编译的,没有错误的。你用到了uint temp,这个uint 需要用#define uint unsigned int 做个宏定义。AD转换的平均值 AD_num 应该是 uint 类型的变量。编译结果如下图,很正常的。

 将一个float类型数据直接赋值给int类型变量,程序编译时提示怎样...
在eclipse里,是会提示错误信息的。如果在cmd中有javac的话,会提示可能有损精度,编译出错的 。

在插入数据到sql数据库时提示:将float转换为数据类型numeric时出现算术溢...
在 Transact-SQL 语句中,带有小数点的常量自动转换为 numeric 数据值,且必然使用最小的精度和小数位数。例如,常量 12.345 被转换为 numeric 值,其精度为 5,小数位为 3。从 decimal 或 numeric 向 float 或 real 转换会导致精度损失。从 int、smallint、tinyint、float、real、money 或 small...

一个float类型数据,以int类型打印输出异常,数据在转化过程发生了什么...
当a数值用二进制表示超过32位,溢出,这个值通常很大或很小 若未超过32位,%f数值用%d输出,因格式与int不相符,输出为0 .

相似回答