小编Zan*_*ane的帖子

DT_Decimal数据类型截断十进制

我有一个平面文件源,它可以获取注释量列的十进制值.Source系统指定这是一个DECIMAL(12,2)文件.我将SSIS中的列设置为DT_Decimal

文件

其中一个金额的特定Flat文件的值为122735.13.但是,如果我在数据源之后放置数据查看器,它似乎正在减少小数.

数据流

ResultsCut

知道为什么会这样吗?作为参考,我将转到Decimal(12,2)SQL Server 2012数据库.

sql-server ssis sql-server-2012

24
推荐指数
1
解决办法
3万
查看次数

如何在不编译项目的情况下获取类的元数据

在我们的项目中,我们使用了大量的T4代码生成.我们使用一个名为DataObjects.Net的X-Tensive ORM.我们有点鸡蛋问题.在我们使用程序集的元数据生成代码之前,我们需要编译ORM的类.然后,当生成代码时,我们可以再次编译模型,但现在与生成的代码(部分类)组合.如果没有生成的代码,则无法编译模型类中的大多数自定义代码.

我们如何解决它是在VS2013中有一个名为"模型"的单独配置.在此配置中,存在"条件编译符号"调用"JUSTMODEL".在没有生成代码的情况下不编译的所有代码都放在#if!JUSTMODEL #endif编译器指令之间,这导致不为"模型"配置编译此代码.

这有点单调乏味.我们已经创建了一个可扩展的应用程序来自动执行此过程,但运行过程会越来越耗费时间.

现在我想知道是否有可能获得Model程序集的元数据而不通过某种扩展性API构建程序集.我在Visual Studio中看到很多工具,它们理解编辑器中加载的类并给我一些反馈(比如intellisense).

c# visual-studio vs-extensibility dataobjects.net

8
推荐指数
1
解决办法
378
查看次数

如何避免在SQL查询中除以零?

在我的网站中,作者可以上传他们的书.我在每个页面上显示统计数据,我显示的统计数据之一是作者书籍的平均评分.我把所有评级的总和除以书的数量:

select 
    sum(BookRate)/count(BookID) as AvrageRate 
from Books 
where Author = "Some Author"
Run Code Online (Sandbox Code Playgroud)

当用户尚未上传任何书籍时会出现问题,并返回明显的错误消息:

Divide by zero error encountered.
Run Code Online (Sandbox Code Playgroud)

有没有办法在SQL查询中避免这种情况,或者我是否必须先用一个查询检查书籍计数,然后对统计数据运行另一个查询?

谢谢世界.

sql

1
推荐指数
1
解决办法
583
查看次数

关键字"事务"SQL插入语句附近的语法不正确

我不明白错误在哪里.我以前做了一百万次,但由于某种原因,这个错误不断出现.这是我的创建表语句:

CREATE TABLE chf.Transaction
(
TransactionID INT IDENTITY(1,1) PRIMARY KEY,
AmtDue MONEY,
DiscountPercent DECIMAL(5,2),
AmtPaid MONEY,
Date DATETIME,
)
GO

CREATE TABLE chf.Agent
(
AgentID INT IDENTITY(1,1) PRIMARY KEY,
Name VARCHAR(50),
TransactionID INT,
constraint Agent_T_FK foreign key (TransactionID) REFERENCES    chf.Transaction(TransactionID),
)
GO
Run Code Online (Sandbox Code Playgroud)

sql sql-server

0
推荐指数
2
解决办法
2835
查看次数

存储过程在C#与SQL Server中返回不同的值

我有一个带参数@id int OUTPUT 的存储过程(sql server 2012)该过程向数据库表中插入一些数据并返回受影响行的ID

SET @id=SCOPE_IDENTITY()
RETURN @id
Run Code Online (Sandbox Code Playgroud)

我从SQL Server测试它,它工作正常.但是当我从C#调用它时:它确实将数据插入到表中,但返回null:

SqlParameter parm = new SqlParameter("@id", SqlDbType.Int);
parm.Size = 32;
parm.Direction = ParameterDirection.Output; // This is important!
cmd.Parameters.Add(parm);
object id = (int?)cmd.ExecuteScalar();//<-null
Run Code Online (Sandbox Code Playgroud)

请指出导致这种奇怪行为的原因是什么?

c# sql sql-server stored-procedures sql-server-2012

0
推荐指数
1
解决办法
1268
查看次数

如何使用PowerShell将CSV文件的数据插入SQL Server数据库表

我想通过从我的本地机器执行PS脚本来做到这一点..其中DB服务器是远程机器.

在CSV文件中,我没有指定任何列名.(只有逗号分隔和对齐o/p).

我不想用 BULK INSERT

sql csv powershell sql-server-2008 sql-server-2008-r2

0
推荐指数
1
解决办法
5355
查看次数

如何定义SQL查询以"从表中查找并返回值两次"

我不知道如何制定查询.为了简化问题,我创建了一个愚蠢而简单的例子.以下是具体内容:

  • TableColor:这是一个颜色表,如下所示:
ColorID       Color
1             Red
2             Green
3             Blue
Run Code Online (Sandbox Code Playgroud)
  • TableClothes:这是一张记录每天穿着的裤子和衬衫颜色的表格,如下所示:
Day       PantsColorID        ShirtColorID
  1       2                   3           (Day 1 wore green pants and a blue shirt)
  2       3                   1           (Day 2 wore blue pants and a red shirt)
Run Code Online (Sandbox Code Playgroud)

如何定义查询以返回如下所示的数据集:

Day   PantsColorID    PantsColor  ShirtColorID    ShirtColor
1     2               Green       3               Blue
2     3               Blue        1               Red
Run Code Online (Sandbox Code Playgroud)

这个查询让我很接近:

select 
    TableClothes.Day, 
    TableClothes.PantsColorID, 
    TableColor.Color as 'color of pants',
    TableClothes.ShirtColorID, 
    TableColor.Color as 'color of shirt', 
    TableColor.ColorID  
from TableClothes, TableColor 
where TableClothes.PantsColorID = TableColor.ColorID
Run Code Online (Sandbox Code Playgroud)
Day   PantsColorID    PantsColor …
Run Code Online (Sandbox Code Playgroud)

sql

0
推荐指数
1
解决办法
93
查看次数