Мой сайт электронной коммерции больше не отображает цену - PullRequest
0 голосов
/ 13 февраля 2012

Здравствуйте, дорогие эксперты,

У меня есть сайт электронной коммерции по адресу http://www.millenniumhealthproducts.com

Сайт работал очень хорошо, используя Access в качестве серверной базы данных.Недавно мы сменили хостинговую компанию на godaddy.com.

Мы перенесли данные из базы данных Access в SQL Server и, конечно, изменили строку подключения, указав базу данных SQL Server.

С тех порсайт теперь отображает цену как 0,00.

Я не могу понять, что является причиной этого.

Имя поля - cprice.В Access db тип данных - Currency, а в SQL Server - Money.

Одна странная вещь, которую я заметил, заключается в том, что в db SQL Server значение больше похоже на xx.xxxx.

Пример 299.0000, когда в Access db значение больше похоже на $ 299.00

Может кто-нибудь подсказать, пожалуйста, как это исправить?

Может ли изменение строк подключения иметь какое-либо отношение к этому?*

Я могу предоставить пример кода asp по запросу.Я использую классический Asp.

'Response.Buffer = true
Dim catid, strcat
catid = Request.QueryString("id")
strcat = Request.QueryString ("cat")

If catid = "" OR (IsNumeric(catid) = false) Then
    Response.Redirect "index.asp"
End if

Dim catname, productslist
sub productInfo(connObj,category)
    q = chr(34)
    set cmd = server.CreateObject("ADODB.Command")
    cmd.ActiveConnection = connObj
    cmd.CommandText = "qryProdsCategory"
    cmd.CommandType = adCmdStoredProc
    set param = cmd.CreateParameter("theCategory",adInteger,adParamInput,4)
    cmd.Parameters.Append(param)
    cmd("theCategory") = Cint(category)
    set rs = server.CreateObject("ADODB.Recordset")
    set rs = cmd.Execute

    if not rs.EOF then
        catname = rs("catdescription")
    %>
        <table width='100%' border=0 cellspacing=0 cellpadding=0>
        <tr>
     <%
        i = 1
        while not rs.EOF
           id = RS("catalogID")
           'Response.write id
           'response.end
        %>
         <td class=bodytextcolor width='33%' align=center nowrap>
         <img src="img/small/<%=rs("cimageurl")%>" align="center" WIDTH='97' HEIGHT='125'>
         <br/><%=rs("cname")%>
          <br>Regular Price: <font color=red><%= FormatCurrency(rs("cprice"),2) %></font>
         <br/><font color=green>10 or more:</font>
         <font color=red><%=FormatCurrency(rs("cover10price"),2)%></font>
         <br/><font size=-1><a href="product.asp?id=<%=id%>">View Details</a></font>
         <br/>
         <font face="Verdana">
        <form name="_xclick" target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
          <input type="hidden" name="cmd" value="_cart">
          <input type="hidden" name="business" value="millennium2000@charter.net">
          <input type="hidden" name="item_name" value="<%=rs("cname")%>">
          <input type="hidden" name="amount" value="<%= FormatCurrency(rs("cprice"),2) %>">
            <table>
                <tr>
                    <td>Quantity: <input maxLength="6" Name="quantity" size=2 value="1" style="height: 2.2em; border: 1px solid Black; background: ButtonFace;">
          <input type="image" src="images/button_in_cart.jpg" border="0" name="submit" alt="PayPal">
          <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1"></td>
                </tr>
        </table>
          <input type="hidden" name="add" value="1">
         </form></td>
       <%

            if (i mod 3) = 0 then
                Response.write "</td></tr>"
            end if
            i = i + 1
            rs.MoveNext
        wend

    else
        Response.write "Product information not found."
        catname = "Error"
    end if
        Response.write "productslist: "
    rs.Close
    set rs = nothing
    set cmd = nothing

end sub

%>

--stored procedure
USE [scartmil]
GO

/****** Object:  StoredProcedure [dbo].[qryProdsCategory]    Script Date: 02/12/2012 19:08:25 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

/****** Object:  StoredProcedure [dbo].[NewStoredProcedure]    Script Date: 02/10/2012 19:36:49 ******/
ALTER PROCEDURE [dbo].[qryProdsCategory](@theCategory int)
AS
SELECT products.*, products.ccategory, categories.catdescription
FROM categories INNER JOIN products ON categories.categoryID = products.ccategory
WHERE (((products.ccategory)=@theCategory));

GO

1 Ответ

0 голосов
/ 13 февраля 2012

При переходе с Access на SQL вы сталкиваетесь с рядом проблем конверсии, я считаю, что ваша проблема находится на уровне миграции, и поле в SQL будет либо money, либо numeric(18,2), возможно, вам придется либо перенастроить его, либо посмотрите, сохранит ли SQL значения, если вы измените тип данных поля.

Кроме того, убедитесь, что все типы данных IDENTITY также сконфигурированы в SQL. Доступ к SQL на самом деле не слишком хорошо заботится об этом, по крайней мере из опыта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...