相关疑难解决方法(0)

如何从SQL Server中的SELECT更新?

SQL Server中,可以insert使用SELECT语句进入表:

INSERT INTO Table (col1, col2, col3)
SELECT col1, col2, col3 
FROM other_table 
WHERE sql = 'cool'
Run Code Online (Sandbox Code Playgroud)

是否也可以通过?更新SELECT?我有一个包含值的临时表,并希望使用这些值更新另一个表.也许是这样的:

UPDATE Table SET col1, col2
SELECT col1, col2 
FROM other_table 
WHERE sql = 'cool'
WHERE Table.id = other_table.id
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server select

3546
推荐指数
31
解决办法
409万
查看次数

T-Sql中的时间戳在C#中意味着什么?

我正在尝试开发一个模型对象来保存一个Sql Server行,我完全理解除了T-Sql/SqlServer时间戳之外如何做到这一点.该表定义为:

CREATE TABLE activity (
activity_id int
, ip_address varchar(39)
, user_id varchar(255)
, message_text
, dt timestamp
)
Run Code Online (Sandbox Code Playgroud)

当我将表行解析为我的对象时,对于int或字符串,我希望做类似的事情:

ActivityID = (int)dataReader["activity_id"];
IPAddress = (string)dataReader["ip_address"];
Run Code Online (Sandbox Code Playgroud)

但是我该如何处理时间戳列?我可以在任何地方找到没有"timestamp"数据类型.我知道Sql Server将时间戳存储为8字节的二进制文件,但这通常与.NET中的相同?

编辑添加:一些额外的信息......这是从我们的大型机上的DB2表通过Sql Server视图返回的行."Rowversion"不是一个选项,DB2正在将列作为时间戳处理.如果timestamp和rowversion相同,也许我可以将它视为一个,但否则我会遇到时间戳.

再次编辑补充说:这个项目将让我疯狂.它至少会是一次短途旅行.无论如何,是的@JoelC这是一个Sql Server视图,进入大型机上的DB2数据库.我终于能够找到我们的一位DBA,他们轻蔑地解释说"当然"DB2 TIMESTAMP遇到了一个Sql Server视图作为日期时间.根据他的语调,我猜只有新手不知道这一点.这就是为什么他在实际视图中将其命名为"datetime",Duh!(我在我的示例中给它一个不同的名称,以便不触发对命名约定的评论 - 实际的数据模型图表示它是TIMESTAMP并将其命名为时间戳).所以,在这种情况下,显然必须将其转换为DateTime.我想我可能会开始考虑成为一名DBA,这样我也可以让程序员疯狂.对不起,如果我误导了这个问题的任何响应者 - 这是无意的,因为我实际上期待时间戳是一个时间戳.傻我.特别感谢Microsoft将字节数组数据类型命名为"时间戳",因为它与日期和时间无关.我没有最简单的想法,哪个回应标记为答案.叹.

c# t-sql sql-server db2

15
推荐指数
4
解决办法
3万
查看次数

c#中的SQL Server二进制文件(16)

我有一个包含一些列的表:1.nvarchar(30),2.int,3.binary(16).现在,在c#中我有一个代表那些列的类:

public string aaa { get; set; }
public int bbb { get; set; }
Run Code Online (Sandbox Code Playgroud)

我怎么写第三个(二进制(16))?

c# sql-server

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

如何将 smallmoney 转换为 C#

我有数据库列作为“薪水”。我将本专栏中员工的工资记录保存为 smallMoney。使用 C# 我可以插入这个列值,如“2000”。之后我看到数据库中的列值为“2000,00”。我需要把这个值像“2000”一样作为字符串在我的程序中更新。因为我的程序是这样工作的。那么,要再次使用这个值,我怎样才能将这个 smallMoney 转换成可以有效地用于我的程序的东西呢?(Int "2000" 或 String "2000" 适合我的程序)

我研究过,但找不到解决方案。谁能说我是怎么做到的?

c# sql sql-server-2012

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

哪种 C# 数据类型相当于 SQL Server 中的钱?

我正在 ASP.NET MVC 中开发一个项目。我是在项目中间开始的,所以我陷入了困境。SQL Server 中列的数据类型是money. 我需要通过模型访问该列,那么它在 C# 中的最佳等效数据类型是什么?

c# sql-server model-view-controller

4
推荐指数
1
解决办法
2万
查看次数

将null值作为Nullable <int>返回时,"指定的强制转换无效"

在我的SQL数据库中,我有以下视图:

CREATE VIEW MyView AS
(SELECT ChangeType FROM MyTable) UNION ALL
(SELECT NULL AS ChangeType FROM MyTable)
Run Code Online (Sandbox Code Playgroud)

哪里ChangeType有类型TINYINT.然后在我的C#代码中,我有一个以下类:

[Table(Name = "MyView")]
public class MyView
{
    [Column]
    public Nullable<int> ChangeType;
}
Run Code Online (Sandbox Code Playgroud)

使用如下:

var table = dataContext.GetTable<MyView>();
var elements = table.ToArray();
Run Code Online (Sandbox Code Playgroud)

当这段代码运行时,我得到以下异常:

[InvalidCastException: Specified cast is not valid.]
System.Data.SqlClient.SqlBuffer.get_Int32() +6393860
Read_MyView(ObjectMaterializer`1 ) +3404
System.Data.Linq.SqlClient.ObjectReader`2.MoveNext() +42
System.Linq.Buffer`1..ctor(IEnumerable`1 source) +488
System.Linq.Enumerable.ToArray(IEnumerable`1 source) +104
MyCodeHere
Run Code Online (Sandbox Code Playgroud)

如果我更改第二部分UNION如下:

(SELECT CONVERT(INT,NULL) AS ChangeType FROM MyTable)
Run Code Online (Sandbox Code Playgroud)

相同的代码运行得很好.

为什么那个"演员阵容无效"呢?为什么不能TINYINT代替它int

.net c# sql-server linq-to-sql

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

c#对象浮点字段与数据库对象浮点字段不同

使用 c# mvc4 和 mssql 我有一个对象,它有一个浮点字段,现在当我在数据库中查看它时,浮点值是2.014112E+17但是当我在我的代码中获取对象时,它变成2.01411186E+17。为什么服务器中的对象和数据库中的对象不同?我之间没有发生任何转换,只是从数据库中读取一个对象。谢谢

编辑:我使用这个浮点数作为时间戳来同步我的一些数据与另一个数据库,这个问题导致了我一些问题,有没有办法获得准确的值或将其存储为浮点数是一个错误的想法首先?

c# sql-server floating-point

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

通过 LINQ 插入日期时间

我的表中有一个列,其数据类型为“时间戳”。现在我通过 LINQ2SQL 插入一行。现在我应该在这里写什么:

Entity_Product_Point ev = new Entity_Product_Point();
ev.DateCreated = ???
Run Code Online (Sandbox Code Playgroud)

谢谢!

c# linq datetime linq-to-sql

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