gpt4 book ai didi

mysql - 经典 ASP 网站的数据未正确写入 MySQL 5 数据库

转载 作者:行者123 更新时间:2023-11-30 01:17:49 25 4
gpt4 key购买 nike

我正在为我的客户从 ACCESS 数据库更改为 MYSQL 5 数据库。他们的网站完全用经典 ASP 编码。

我使用一个工具(Navicat for MySQL)将访问MySQL的所有表和数据导入。看来效果真的很好。

我现在正在尝试测试网站和他们用来管理产品数据(存储在数据库中)的管理功能。

在 ASP 管理部分编辑产品时,他们可以更新价格、描述等。

从功能上来说,它是有效的。但有两个问题:

1) 在asp表单中更新价格并提交时,数据库中的值是错误的。 (即我输入 $1189,数据库中的值变为 11890000.00)。我输入的数字总是添加四个零。数据库中的数据类型是十进制 19,4 - 据我所知,这是推荐的货币数据类型。

2) 在asp表单中,我们还可以更新产品的描述。然而,当提交到数据库时,我输入的任何描述都会变成类似:“t”(基本上是胡言乱语)。我认为这与字符集可能不正确有关,但据我所知,它们是好的。数据库使用默认的 latin1 -- cp1252 ,网页/应用程序使用 iso-8859-1 (我相信是相同的)。同样奇怪的是,只有描述才是问题。描述的数据类型是LONGTEXT。所有其他值(例如产品名称)都会更新并正确存储到数据库中(例如,产品名称是 varchar)。

我一直在尝试用谷歌搜索这些问题来找到答案,但很惊讶没有任何运气。我是 MySQL 新手,所以如果答案是显而易见的,我很抱歉!

希望这是将记录写入数据库的代码:

Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverwriteFiles = true
Upload.SetMaxSize 2048576 ' Limit files to 1MB
Upload.Save session("rootpath")&"\public\graphics\uploads\"

dim rst, oc, pid
pid = Upload.Form("pid")
set rst = Server.CreateObject("ADODB.Recordset")
rst.Open "SELECT * FROM Trailers WHERE Trailer_ID="&pid, connection, adOpenDynamic, adLockOptimistic

rst("Trailer_Description") = Upload.Form("description")
rst("Trailer_Price") = Upload.Form("price")
rst.Update

注意:使用“Upload.Form”而不是 request.form,因为图像是使用 ASP.Upload 组件在此表单中上传的 - 创建上传对象。我已经采取了一切措施来努力隔离问题......

谢谢

最佳答案

如果应用程序有数据库创建脚本,您可能最好使用它来创建表等,然后将数据从 Access 移植到 MySQL。

我没有使用过 Navicat,所以我无法评价它的工作效果如何 - 但在我从事的另一个项目中,从 Access 迁移到 MySQL 一直都是有问题的,除非你让程序创建表、索引、默认值等,然后将数据作为单独的步骤移动。

关于mysql - 经典 ASP 网站的数据未正确写入 MySQL 5 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18880519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com