C# 在数据集c中给出标识号#
我有一个sql表,只有ID和Description列ID列是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列中获取值?此代码将
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,因为它们总是唯一的