我写的这句插入语句老错,请大家帮忙解决一下

[复制链接]
查看11 | 回复5 | 2010-12-9 10:16:34 | 显示全部楼层 |阅读模式
INSERT INTO gsl_product (gsl_pro_name,gsl_pro_jj,gsl_url,gsl_pro_bzjg,gsl_pro_wj,gsl_tel,gsl_address,gsl_addtime)VALUES('" + cpname.Text.Trim() + "','" + Tools.Strmarget.replacestr(Editor1.Text) + "','" + Mapth + "','" + yhjg.Text.Trim())+ "','" +scjg.Text.Trim() + "','" + tel.Text.Trim() + "','" + address.Text.Trim() + "','" + Label1.Text + "')"
就这句,他老提示"T_SQL语句出错:不允许从数据类型 varchar 到数据类型 money 的隐性转换(表 'Federations.federation.gsl_product',列 'gsl_pro_bzjg')。请使用 CONVERT 函数来运行此查询。不允许从数据类型 varchar 到数据类型 money 的隐性转换(表 'Federations.federation.gsl_product',列 'gsl_pro_wj')。请使用 CONVERT 函数来运行此查询。",该怎么解决呢?

回复

使用道具 举报

千问 | 2010-12-9 10:16:34 | 显示全部楼层
sql数据库的数据类型很严谨,你在设定数据库时列 'gsl_pro_bzjg'为money类型,vb里面貌似没有money货币格式的数据类型,所以可能导致数据插入出错,给一个比较笨的办法,把数据库里面money数据类型改为decimal或者numeric类型,查询的时候再转换,试下看行不行,也许有什么更好的办法,不过我不会,呵呵
回复

使用道具 举报

千问 | 2010-12-9 10:16:34 | 显示全部楼层
傻西西的 ,明显是不登陆时,程序判断就出现代码错误,终止代码运行,所以你看不到后面的东西,你改下浏览器设置,肯定还能看到错误提示 和CONN根本没关系!写代码,注意细节,关键部分一般都会注意,错的常是小地方 改为: <% end if respo
回复

使用道具 举报

千问 | 2010-12-9 10:16:34 | 显示全部楼层
提示很明显啊,那就是gsl_pro_bzjg在数据库里的数据类型是money,而你传给gsl_pro_bzjg的值是varchar类型,money和varchar类型之间不能隐性转换,你把数据类型统一一下,或者用Convert方法进行强制类型转换
回复

使用道具 举报

千问 | 2010-12-9 10:16:34 | 显示全部楼层
查看Insert语句中,gsl_pro_bzjg 列的数据类型是否和数据库的数据类型一致,不一致则进行强制转换
回复

使用道具 举报

千问 | 2010-12-9 10:16:34 | 显示全部楼层
有点深奥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行