Asp.net 存储过程在本地主机上工作,但在生产服务器上不工作

Asp.net 存储过程在本地主机上工作,但在生产服务器上不工作,asp.net,sql-server,Asp.net,Sql Server,我目前正在开发一个基于ASP.net的车队管理应用程序。应用程序获取每日汇率,并允许用户根据汇率进行交易。有两种交易 1.当地货币汇率=1 2.美元 我编写了一个简单的select查询,从数据库中的表中读取汇率值。当我使用本地主机访问它时,此查询工作,但当我尝试使用部署的应用程序访问它时,它不工作 SQL查询是 SELECT id_exchange_rate, Exchange_rate FROM NVP_ExchangeRate WHERE CAST(Exchange_Rate_date as

我目前正在开发一个基于ASP.net的车队管理应用程序。应用程序获取每日汇率,并允许用户根据汇率进行交易。有两种交易 1.当地货币汇率=1 2.美元

我编写了一个简单的select查询,从数据库中的表中读取汇率值。当我使用本地主机访问它时,此查询工作,但当我尝试使用部署的应用程序访问它时,它不工作

SQL查询是

SELECT id_exchange_rate, Exchange_rate
FROM NVP_ExchangeRate
WHERE CAST(Exchange_Rate_date as date)=CAST(@date_today as date)
    AND Manual_rate IS NULL
它包含在下面的块中

if (currency_actual == "USD")
{
}
这两个条件中的任何一个都失败了。 有人能帮我吗?
此外,相同的应用程序部署在2台QA服务器中。它在两个QA服务器上都能工作。

我只是想给我的问题添加一个答案

在第一个查询中,我从应用程序DateTime.Now中获取当前日期的值,现在是c,然后将该日期传递给我的SQL查询。我的应用服务器位于印度。然而,我的数据库服务器位于墨西哥

所以当我使用DateTime时,现在在印度服务器上,它返回当前的印度日期。当我用这个日期去查询我在墨西哥的数据库时,它几乎比印度晚了12个小时,日期不匹配,因为墨西哥几乎比我们晚了一天


这个问题的根本原因可能是我编程不好

它不工作,以什么方式不工作?有3个数据库和部署服务器。QA服务器开发服务器产品服务器。在QA部署服务器上,汇率在Dev部署服务器上填充,在prod部署服务器上汇率文本框为空,汇率文本框中显示“1”。当我通过本地主机运行应用程序并连接到QA、Dev和Prod服务器时,会在所有3台服务器上部署相同的应用程序,webconfig文件中会有更改。会填充正确的汇率值。您今天将值@date_传递到进程中,设置为什么?我猜生产框设置为与其他服务器不同的国家/地区,并以不同的方式处理日期值,即mm/dd/yyyy而不是dd/mm/yyyyw。你说得对。我来自印度,我的服务器在墨西哥。我犯了一个错误,我通过C传递当前日期,我想我应该在存储过程中使用GETDATE函数。另一个保持数据存储为正确类型的原因是日期,而不是字符串。。。