小编Joh*_*som的帖子

SQLCommand方法ExecuteScalar()返回什么数据类型?

在SQL Server中,ID是非空整数和标识.

当我运行以下代码时,我在最后一行得到一个InvalidCastException:

SqlCommand cmd = new SqlCommand();
cmd.Connection = _conn;
cmd.CommandText = @"INSERT INTO [Users] (Name, Email, Password) VALUES (@name, @email, @pass); SELECT SCOPE_IDENTITY()";
cmd.Parameters.AddWithValue("@name", newUser.Name);
cmd.Parameters.AddWithValue("@email", newUser.Email);
cmd.Parameters.AddWithValue("@pass", newUser.PasswordHash);
int id = (int)cmd.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)

什么是ExecuteScalar()在这里返回?无论它返回什么,都有一个ToString()使它看起来像一个数字,所以这个可怕的代码行工作:

int id = Int32.Parse(cmd.ExecuteScalar().ToString());
Run Code Online (Sandbox Code Playgroud)

c# sql-server ado.net scope-identity

5
推荐指数
2
解决办法
6335
查看次数

跨数据库存储过程性能注意事项

在我的项目中,我在同一台服务器上有两个独立的DB.除了DB"B"中需要在DB"A"中访问的三列之外,DB是自给自足的.

如果我在A中有一个直接从B访问三列的存储过程,是否有性能方面的考虑?

目前,我们运行一个夜间作业将表B中所需的数据导入表A,这样存储的proc就不会超出A的范围.

这是最好的方法吗?

跨数据库存储过程是否在最佳实践中?

sql stored-procedures

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

任何人都有索引覆盖的经验

  1. 指数覆盖(即覆盖指数)的技术是什么?
  2. 在考虑整体性能时,使用它们的优点/缺点是什么?

mysql sql-server

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

推荐使用OpenSource或Freeware工具检查两台服务器之间的网络流量

我目前正在锁定可在给定Windows应用程序平台上使用的网络通信协议.

您能否建议一个免费提供的工具,以便我监控/识别正在使用的通信协议,即

  • TCP/IP
  • HTTP
  • HTTPS
  • FTP
  • SFTP

windows networking monitoring protocols

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

如何将此T-SQL查询转换为使用显式连接语法?

我有以下Select语句,但想要将其更改为使用iner连接,因为我相信它们更有效,但不太确定从哪里开始.

DECLARE @myNameID  int
DECLARE @myAddressID  int
DECLARE @myFirstName nvarchar(256)

SET @myNameID = 1
SET @myAddressID =1
SET @myFirstName='Nathan'

SELECT @myNameID = myNameID 
    FROM

        NameTable Name,
        AddressTable Address,
        CountryTable Country

    WHERE
        Name.[FirstName] = @ myFirstName and 
        Address. AddressID = @ myAddressID and
        Address.CountryID = Country.CountryID  and
        Name.SecondID = Country.SecondID 
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2005

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