Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我有一个MSSQL数据库表(is Identity)是否,我需要使它通过C代码自动递增_C#_Sql_.net_Sql Server_Database - Fatal编程技术网

C# 我有一个MSSQL数据库表(is Identity)是否,我需要使它通过C代码自动递增

C# 我有一个MSSQL数据库表(is Identity)是否,我需要使它通过C代码自动递增,c#,sql,.net,sql-server,database,C#,Sql,.net,Sql Server,Database,我需要通过c#通过SQL命令将数据输入到SQL数据库表中,这对于增加数据库中的每一行非常重要(标识增量1和标识种子1) 但是我不知道代码是怎么写的,或者我不能自己写 因此,我正在寻找帮助,使我能够通过自动编号的行传递数据 谢谢如果您能够使用SQL存储过程,那么只需这样做,然后使用ADO.NET或Dapper Micro ORM调用存储过程,其中包含所需的参数,不包括自动递增的字段(参数),因为它们不需要插入 详细示例: 假设您有以下存储过程: CREATE PROCEDURE [dbo].[In

我需要通过c#通过SQL命令将数据输入到SQL数据库表中,这对于增加数据库中的每一行非常重要(标识增量1和标识种子1)

但是我不知道代码是怎么写的,或者我不能自己写

因此,我正在寻找帮助,使我能够通过自动编号的行传递数据


谢谢

如果您能够使用SQL存储过程,那么只需这样做,然后使用ADO.NETDapper Micro ORM调用存储过程,其中包含所需的参数,不包括自动递增的字段(参数),因为它们不需要插入

详细示例: 假设您有以下存储过程:

CREATE PROCEDURE [dbo].[InsertNewEmail] @Konu NVARCHAR(max)
    ,@Kimden NVARCHAR(200)
    ,@Kime NVARCHAR(max)
    ,@Metin NVARCHAR(max)
    ,@Ekler NVARCHAR(max)
    ,@Aktif BIT
    ,@Saat NVARCHAR(6)
    ,@Sql NVARCHAR(max)
AS
INSERT INTO [dbo].[ReportingEmails]
VALUES (
    @Konu
    ,@Kimden
    ,@Kime
    ,@Metin
    ,@Ekler
    ,@Aktif
    ,@Saat
    ,@Sql
    )
您的C#代码:

插入的方法应为:

//using System.Data;
//using System.Data.SqlClient;

        public void AddEmail(MailEntity mailEntity, SqlConnection connection)
        {
            //SqlConnection con = BuildSqlConnection();
            SqlCommand command = new SqlCommand();
            if (connection.State == ConnectionState.Closed) connection.Open();
            command.Connection = connection;
            command.CommandTimeout = 600000000;
            command.CommandType = CommandType.StoredProcedure;
            command.CommandText = "ReportingInsertNewEmail";
            command.Parameters.AddWithValue("@Konu", mailEntity.Konu);
            command.Parameters.AddWithValue("@Kimden", mailEntity.Kimden);
            command.Parameters.AddWithValue("@Kime", mailEntity.Kime);
            command.Parameters.AddWithValue("@Metin", mailEntity.Metin);
            command.Parameters.AddWithValue("@Ekler", mailEntity.Ekler);
            command.Parameters.AddWithValue("@Aktif", mailEntity.Aktif);
            command.Parameters.AddWithValue("@Saat", mailEntity.Saat);
            command.Parameters.AddWithValue("@Sql", mailEntity.Sql);
            command.ExecuteNonQuery();
            connection.Close();
        }

为什么不使用Identity=Yes?。你具体需要什么帮助?那你试过的不起作用呢?
//using System.Data;
//using System.Data.SqlClient;

        public void AddEmail(MailEntity mailEntity, SqlConnection connection)
        {
            //SqlConnection con = BuildSqlConnection();
            SqlCommand command = new SqlCommand();
            if (connection.State == ConnectionState.Closed) connection.Open();
            command.Connection = connection;
            command.CommandTimeout = 600000000;
            command.CommandType = CommandType.StoredProcedure;
            command.CommandText = "ReportingInsertNewEmail";
            command.Parameters.AddWithValue("@Konu", mailEntity.Konu);
            command.Parameters.AddWithValue("@Kimden", mailEntity.Kimden);
            command.Parameters.AddWithValue("@Kime", mailEntity.Kime);
            command.Parameters.AddWithValue("@Metin", mailEntity.Metin);
            command.Parameters.AddWithValue("@Ekler", mailEntity.Ekler);
            command.Parameters.AddWithValue("@Aktif", mailEntity.Aktif);
            command.Parameters.AddWithValue("@Saat", mailEntity.Saat);
            command.Parameters.AddWithValue("@Sql", mailEntity.Sql);
            command.ExecuteNonQuery();
            connection.Close();
        }