gpt4 book ai didi

c# - 无法将参数值从字符串转换为十进制?

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

我有一个这样的存储过程:

ALTER PROCEDURE [dbo].[usp_CSR_UpdateDailyCustomerWithLCDHistory]
-- Add the parameters for the stored procedure here
@person_id numeric(18, 0),
@last_contact_date datetime,
@source nvarchar(50),
@callLogId int,
@createdBy nvarchar(50)
AS
BEGIN...END

在我的代码中我调用这个存储过程:

public void UpdateDailyCustomerWithLCDHistory(string callerId, 
int callLogId, string csrName)
{
try
{
Database db = DatabaseFactory.CreateDatabase
("MarketingWriteConnectionString");
DbCommand dbCommand =
db.GetStoredProcCommand("usp_CSR_UpdateDailyCustomerWithLCDHistory");
dbCommand.CommandTimeout = AppSetting.Instance.GetCommandTimeout();

db.AddInParameter(dbCommand, "person_id", DbType.Decimal, callerId);
db.AddInParameter(dbCommand, "last_contact_date", DbType.Date,
DateTime.Now.ToShortDateString());
db.AddInParameter(dbCommand, "source", DbType.String, "CSR");
db.AddInParameter(dbCommand, "callLogId", DbType.Int32, callLogId);
db.AddInParameter(dbCommand, "createdBy", DbType.String, csrName);

db.ExecuteNonQuery(dbCommand);
}
}

这是我的表结构:

CREATE TABLE [dbo].[tblDailyCustomerLastContactDateHistory](
[person_id] [numeric](18, 0) NOT NULL,
[source] [nvarchar](50) NOT NULL,
[callLogId] [int] NULL,
[createdBy] [nvarchar](50) NULL,
[last_contact_date] [datetime] NOT NULL,

部署应用程序后,出现错误

Failed to convert parameter value from a String to a Decimal

虽然经常,但不是所有时候。谁能告诉我哪里出了问题?

最佳答案

public void UpdateDailyCustomerWithLCDHistory(string callerId, int callLogId, string csrName)
{
try
{
Database db = DatabaseFactory.CreateDatabase("MarketingWriteConnectionString");
DbCommand dbCommand = db.GetStoredProcCommand("usp_CSR_UpdateDailyCustomerWithLCDHistory");
dbCommand.CommandTimeout = AppSetting.Instance.GetCommandTimeout();

db.AddInParameter(dbCommand, "person_id", DbType.Decimal, callerId);

callId是一个字符串,赋值前需要转成十进制

您可以使用 Decimal.TryParse() 将字符串转换为十进制数。 http://msdn.microsoft.com/en-us/library/system.decimal.tryparse.aspx

关于c# - 无法将参数值从字符串转换为十进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12982208/

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