问题
当带有项目代码的匹配项代码由ltrim包含空格时,它将获得空结果
详情
我进行SQL查询以从数据库中获取客户的最新价格
正确的结果是13.5价格值
但它给我null
项目代码中的问题在数据库中的项目代码中有空格,所以我不
知道如何匹配项目代码有空格以获得正确的结果
我的查询如下
string MaxPrice = @"SELECT max( dbo.TrxInvf.Price)
FROM dbo.TrxInvF INNER JOIN
dbo.TrxInvH ON dbo.TrxInvF.BranchCode = dbo.TrxInvH.BranchCode AND dbo.TrxInvF.Trxtype = dbo.TrxInvH.Trxtype AND
dbo.TrxInvF.TrxYear = dbo.TrxInvH.TrxYear AND dbo.TrxInvF.TrxSerial = dbo.TrxInvH.TrxSerial INNER JOIN
dbo.trxtypeConfig ON dbo.TrxInvF.BranchCode = dbo.trxtypeConfig.BranchCode AND dbo.TrxInvF.Trxtype = dbo.trxtypeConfig.trxtypecode
WHERE (dbo.trxtypeConfig.TrxTypeID = 2) AND (dbo.trxtypeConfig.TrxKind = 1) AND (dbo.TrxInvH.TargetType = 1) AND (dbo.TrxInvH.TargetCode = " + Customercode + @") AND ( ltrim( dbo.TrxInvf.ItemCode) = '" + codeitem + @"')
and TrxDate = (
SELECT max( dbo.TrxInvH.TrxDate)
FROM dbo.TrxInvF INNER JOIN
dbo.TrxInvH ON dbo.TrxInvF.BranchCode = dbo.TrxInvH.BranchCode AND dbo.TrxInvF.Trxtype = dbo.TrxInvH.Trxtype AND
dbo.TrxInvF.TrxYear = dbo.TrxInvH.TrxYear AND dbo.TrxInvF.TrxSerial = dbo.TrxInvH.TrxSerial INNER JOIN
dbo.trxtypeConfig ON dbo.TrxInvF.BranchCode = dbo.trxtypeConfig.BranchCode AND dbo.TrxInvF.Trxtype = dbo.trxtypeConfig.trxtypecode
WHERE (dbo.trxtypeConfig.TrxTypeID = 2) AND (dbo.trxtypeConfig.TrxKind = 1) AND (dbo.TrxInvH.TargetType = 1) AND (dbo.TrxInvH.TargetCode = " + Customercode + @") AND ( ltrim (dbo.TrxInvf.ItemCode) = '" + codeitem + @"') )";
项目代码中的问题有空格,因此我无法匹配item的值 获得价值。
以便如何匹配项目代码以从最后的数据库中获取正确的值
客户的价格。
在visual studio 2015的调试器中我的查询如下,不使用
变量:
SELECT max( dbo.TrxInvf.Price)
FROM dbo.TrxInvF INNER JOIN
dbo.TrxInvH ON dbo.TrxInvF.BranchCode = dbo.TrxInvH.BranchCode AND dbo.TrxInvF.Trxtype = dbo.TrxInvH.Trxtype AND
dbo.TrxInvF.TrxYear = dbo.TrxInvH.TrxYear AND dbo.TrxInvF.TrxSerial = dbo.TrxInvH.TrxSerial INNER JOIN
dbo.trxtypeConfig ON dbo.TrxInvF.BranchCode = dbo.trxtypeConfig.BranchCode AND dbo.TrxInvF.Trxtype = dbo.trxtypeConfig.trxtypecode
WHERE (dbo.trxtypeConfig.TrxTypeID = 2) AND (dbo.trxtypeConfig.TrxKind = 1) AND (dbo.TrxInvH.TargetType = 1) AND (dbo.TrxInvH.TargetCode = 125204) AND ( ltrim( dbo.TrxInvf.ItemCode) = ' 10200025')
and TrxDate = (
SELECT max( dbo.TrxInvH.TrxDate)
FROM dbo.TrxInvF INNER JOIN
dbo.TrxInvH ON dbo.TrxInvF.BranchCode = dbo.TrxInvH.BranchCode AND dbo.TrxInvF.Trxtype = dbo.TrxInvH.Trxtype AND
dbo.TrxInvF.TrxYear = dbo.TrxInvH.TrxYear AND dbo.TrxInvF.TrxSerial = dbo.TrxInvH.TrxSerial INNER JOIN
dbo.trxtypeConfig ON dbo.TrxInvF.BranchCode = dbo.trxtypeConfig.BranchCode AND dbo.TrxInvF.Trxtype = dbo.trxtypeConfig.trxtypecode
WHERE (dbo.trxtypeConfig.TrxTypeID = 2) AND (dbo.trxtypeConfig.TrxKind = 1) AND (dbo.TrxInvH.TargetType = 1) AND (dbo.TrxInvH.TargetCode = 125204) AND ( ltrim (dbo.TrxInvf.ItemCode) = ' 10200025') )