Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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# 在数据集c中给出标识号#_C#_Sql Server_Dataset_Identity Column - Fatal编程技术网

C# 在数据集c中给出标识号#

C# 在数据集c中给出标识号#,c#,sql-server,dataset,identity-column,C#,Sql Server,Dataset,Identity Column,我有一个sql表,只有ID和Description列ID列是identity主键,当我使用sql server management studio时,sql server会自动增加它。我使用C#project将数据添加到此表中,该表具有断开连接的体系结构。我只将Description列值赋予数据集表,我希望数据集表上的ID列像sql server那样自动增加。有什么方法吗?如果您从sql表中获取描述,那么为什么不从ID列中获取值?如果您从sql表中获取描述,那么为什么不从ID列中获取值?此代码将

我有一个sql表,只有IDDescriptionID列是
identity主键
,当我使用sql server management studio时,sql server会自动增加它。我使用C#project将数据添加到此表中,该表具有断开连接的体系结构。我只将Description列值赋予
数据集
表,我希望数据集表上的ID列像sql server那样自动增加。有什么方法吗?

如果您从sql表中获取描述,那么为什么不从ID列中获取值?

如果您从sql表中获取描述,那么为什么不从ID列中获取值?

此代码将帮助您,这是如何将自动增量列添加到
数据表中的方法。

DataColumn column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.AutoIncrement = true;
column.AutoIncrementSeed = 1;
column.AutoIncrementStep = 1;

// Add the column to a new DataTable.
DataTable table = new DataTable("table");
table.Columns.Add(column);

此代码将帮助您,这是如何将自动增量列添加到
DataTable

DataColumn column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.AutoIncrement = true;
column.AutoIncrementSeed = 1;
column.AutoIncrementStep = 1;

// Add the column to a new DataTable.
DataTable table = new DataTable("table");
table.Columns.Add(column);

您需要实现自己的序列。在应用程序或数据库中保留最后分配的值。将下一个id设为oldvalue+1并更新旧值。Sql server无法帮助您,因为您处于“断开连接模式”

您需要实现自己的序列。在应用程序或数据库中保留最后分配的值。将下一个id设为oldvalue+1并更新旧值。Sql server无法帮助您,因为您处于“断开连接模式”

您可以在数据表中设置自动增量字段,但以这种方式生成的ID将与Sql server生成的ID不同


如果要从客户端向数据库中插入ID,可以使用GUID作为ID,也可以在客户端上生成假ID,以便在数据集中具有主键,但在向数据库中插入新行时,不能将此ID作为参数传递,因此,当您执行插入操作时,SQL将生成新ID。

您可以在数据表中设置自动增量字段,但以这种方式生成的ID将与SQL Server生成的ID不同


如果要从客户端向数据库中插入ID,可以使用GUID作为ID,也可以在客户端上生成假ID,以便在数据集中具有主键,但在向数据库中插入新行时,不能将此ID作为参数传递,因此,SQL将在插入时生成新ID。

用于为断开连接的应用程序和数据源创建主键,以避免多个客户端使用相同的数字-使用GUID,因为它们总是唯一的。

用于为断开连接的应用程序和数据源创建主键,以避免多个客户端使用相同的数字相同的数字-使用guid,因为它们总是唯一的