在ACCESS数据库中,数字类型的字段能否换成文本类型的字段??

gpedit250715312 2010-08-02 03:14:51
在做ASP开发使用SQL的添加命令的过程中:insert into 表名() values(),总是提示INSERT INTO语句的语法错误,重试了N次都还是出错,刚开始以为是哪个变量名写错了(比如说如果是文本类型的变量应该用:'"&变量&"',而数字类型的变量就可以去掉最外面的单引号就可以的),但是经过我一次又一次的检验,我写的没有错误。包括后来我又用了、添加到数据库的另一种方法:rs.addnew rs.update,可惜的是,经过我的尝试,最后还是出错,而且我发觉都是字段类型为“数字”型的变量出错。。。后来干脆把数据库中所有字段类型为“数字”型的都改为“文本”型的,这时再新测试。靠,奇迹发生了,居然没有出错,而且无论是用INSERT INTO 方法添加,还是用后来的rs.addnew rs.update方法添加都成功了。。。此时,我得出的结论就是,是不是ACCESS数据库本身的问题呢?还是哪里需要设置?(我用的ACCESS是2003的),如果以后能把字段类型设置成文本的都设置成文本的岂不是很好?也不会出错,但是如果文本类型的太多了也不知道会有什么不妥??还请高手帮忙解答啊,先在此谢过了。。。。
...全文
306 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
gpedit250715312 2010-08-03
代码已经贴出来了,谢谢各位了。。
回复
gpedit250715312 2010-08-03
在做ASP开发使用SQL的添加命令的过程中:insert into 表名() values(),总是提示INSERT INTO语句的语法错误,重试了N次都还是出错,刚开始以为是哪个变量名写错了(比如说如果是文本类型的变量应该用: ' "&变量& " ',而数字类型的变量就可以去掉最外面的单引号就可以的),但是经过我一次又一次的检验,我写的没有错误。包括后来我又用了、添加到数据库的另一种方法:rs.addnew rs.update,可惜的是,经过我的尝试,最后还是出错,而且我发觉都是字段类型为“数字”型的变量出错。。。后来干脆把数据库中所有字段类型为“数字”型的都改为“文本”型的,这时再新测试。靠,奇迹发生了,居然没有出错,而且无论是用INSERT INTO 方法添加,还是用后来的rs.addnew rs.update方法添加都成功了。。。此时,我得出的结论就是,是不是ACCESS数据库本身的问题呢?还是哪里需要设置?(我用的ACCESS是2003的),如果以后能把字段类型设置成文本的都设置成文本的岂不是很好?也不会出错,但是如果文本类型的太多了也不知道会有什么不妥??

以下是我的HTML代码,还请高手帮忙分析下哈。。。

<%@codepage = 936%>
<!--#include file="../include/function.asp"-->
<!--#include file="conn.asp"-->
<!--#include file="fckeditor/fckeditor.asp"-->
<%
response.charset="GBK"
if session("admin")="" then
call sussLoctionHref("非法登录","admin_login.asp")
end if
dim picdir
picdir = "goods"

if request.form("send") = "添加商品" then
dim rs,sql,goodsname,goodscode,goodsweight,goodsnumber,goodsnew,goodshot,goodsfast,goodsunit,goodsprice1,goodsprice2,picdir1,picdir2,goodspoint,goodsinfo,goodscontent
goodsname=request.form("goodsname")
goodscode=request.form("goodscode")
goodsweight=request.form("goodsweight")
goodsnumber=request.form("goodsnumber")
goodsnew=request.form("goodsnew")
goodshot=request.form("goodshot")
goodsfast=request.form("goodsfast")
goodsunit=request.form("goodsunit")
goodsprice1=request.form("goodsprice1")
goodsprice2=request.form("goodsprice2")


picdir1=request.form("picdir1")
picdir2=request.form("picdir2")
goodsinfo=request.form("goodsinfo")
goodscontent=request.form("goodscontent")

if goodsnew=1 then
goodsnew = true
elseif goodsnew="" then
goodsnew = false
end if



if goodshot=1 then
goodshot = true
elseif goodshot="" then
goodshot = false
end if


if goodsfast= 1 then
goodsfast= true
elseif goodsfast="" then
goodsfast=false
end if

if goodsunit= "" then
goodsunit="个"
end if

set rs=server.createobject("adodb.recordset")
sql="select * from goods"
rs.open sql,conn,1,3

rs.addnew
rs("goods_name")=goodsname
rs("goods_code")=goodscode
rs("goods_weight")=goodsweight
rs("goods_number")=goodsnumber
rs("goods_new")=goodsnew
rs("goods_hot")=goodshot
rs("goods_fast")=goodsfast
rs("goods_unit")=goodsunit
rs("goods_price1")=goodsprice1
rs("goods_price2")=goodsprice2
rs("goods_pic1")=picdir1
rs("goods_pic2")=picdir2
rs("goods_info")=goodsinfo
rs("goods_content")=goodscontent
rs.update

call close_rs

response.write "<script>alert('商品发布成功!');location.href='admin_add_goods.asp'</script>"
end if
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>后台管理</title>
<link rel="stylesheet" type="text/css" href="style/admin.css" />
</head>
<body>
<div id="addnew">
<h3 style="text-align:center;color:red;margin:20px;">添加商品</h3>
<form method="post" name="add" action="admin_add_goods.asp">
<p>商品名称:<input type="text" name="goodsname" class="text" /></p>
<p>商品编号:<input type="text" name="goodscode" class="text" /></p>
<p>商品重量:<input type="text" name="goodsweight" class="text1" /> kg</p>
<p>商品库存:<input type="text" name="goodsnumber" class="text1" /></p>
<p>加入推荐:<input type="checkbox" name="goodsnew" value="1" /> 新品 <input type="checkbox" name="goodshot" value="1" /> 热卖 <input type="checkbox" name="goodsfast" value="1" /> 速递</p>
<p>商品单位:<input type="text" name="goodsunit" class="text1" /></p>
<p>市场价格:<input type="text" name="goodsprice1" class="text1" /> 元</p>
<p>本店价格:<input type="text" name="goodsprice2" class="text1" /> 元</p>
<p>赠送积分:<input type="text" name="goodspoint" class="text1" /> </p>
<p>上传小图:<input type="text" readonly="readonly" name="picdir1" /> <a href="###" onclick="javascript:open('upfile.asp?picdir=<%=picdir%>','upfile','width=400,height=200')">上传</a></p>
<p>上传大图:<input type="text" readonly="readonly" name="picdir2" /> <a href="###" onclick="javascript:open('upfile2.asp?picdir=<%=picdir%>','upfile','width=400,height=200')">上传</a></p>
<p>商品简介:<textarea name="goodsinfo"></textarea></p>
<p>详细内容:</p>
<p>
<%
Dim oFCKeditor
Set oFCKeditor = New FCKeditor '创建一个编辑器的实例
oFCKeditor.BasePath = "fckeditor/" '配置编辑器的路径,我站点根目录下的一个目录
oFCKeditor.ToolbarSet = "Default" '完整和简化.Basic
oFCKeditor.Width = "100%" '编辑器的长度
oFCKeditor.Height = "400" '编辑器的高度
oFCKeditor.Value = "" '这个是给编辑器初始值
oFCKeditor.Create "goodscontent" '以后编辑器里的内容都是由这个content 取得
%>
</p>
<p><input type="submit" value="添加商品" name="send" class="submit" /></p>
</form>
</div>
</body>
</html>


数据库中表[goods]的字段有:goods_id,goods_name,goods_code,goods_weight,goods_number,goods_new,goods_hot,goods_fast,goods_unit,goods_price1,goods_price2,goods_point,goods_pic1,goods_pic2,goods_info,goods_content.其中goods_weight,goods_number,goods_point是数字型的,goods_new,goods_hot,goods_fast是“是/否”型的,goods_price1,goods_price2是货币型的,其它的都是文本型的。
回复
gpedit250715312 2010-08-02
[Quote=引用 8 楼 beyond_me21 的回复:]
把代码贴出来啊,你肯定sql语句有问题
[/Quote]

哎,烦的很。。。文件现在没有在这台电脑上。。。。
晚点拿过来。。。。哎,耽误自己时间嘛不是。
回复
beyond_me21 2010-08-02
把代码贴出来啊,你肯定sql语句有问题
回复
gpedit250715312 2010-08-02
难道就没有人来帮我解答下这个问题吗??/我实在是搞不出来了,,,还请高手帮忙。。。
回复
gpedit250715312 2010-08-02
[Quote=引用 4 楼 lzp4881 的回复:]
用文本型的话,数值计算的部分会比较麻烦,特别是排序,
10
会排在
7
8
9
前面
[/Quote]

能帮我具体分析下吗,谢谢了。
回复
gpedit250715312 2010-08-02
我也知道,一般是数字的话,肯定用“数值”型会更好。。。但问题是,我这次只有是字段中包涵有“数值”类型的就会出错,提示“INSERT INTO语句有错误”,等把数值的改成文本后就没有问题了。。。我最想知道的是这是怎么回事呢???会不会是ACCESS数据库本身的问题呢???
回复
lzp4881 2010-08-02
用文本型的话,数值计算的部分会比较麻烦,特别是排序,
10
会排在
7
8
9
前面
回复
挨踢直男 2010-08-02
是文本的话 用汇总之类的就比较麻烦
回复
as123456789d 2010-08-02
该用数字类型 就用数字类型 ,

该用文、本的就用文本

不能随便的
当然有的东西是没有什么区别

就像 点击量,
数字类型 ,
但如果是用文本呢 会不会报错呢
以前也没有测试过
但肯定是可以,。
只要转换就可以了
回复
gpedit250715312 2010-08-02
自己先顶一下,呵呵。。/
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告