真是奇怪了,自动增量ID在本机下运行添加正常,但是上传到万网的SQL Server服务器中就出现错误提示“无法将 NULL 值插入列 'ID'”? sql2="select * from Log_Entry" ---将*枚举成列名试试 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sql2="select UserName,Log_OS,Log_Date,Log_Time,Log_Error from Log_Entry" rs2.open sql2,db,3,3 rs2.addnew rs2("UserName")=session("HJ_Name") rs2("Log_IP")=request.ServerVariables("REMOTE_ADDR") rs2("Log_OS")=vOS rs2("Log_Date")=Date() rs2("Log_Time")=Now() rs2("Log_Error")="正常登录" 先贴点帮助IDENTITY(属性)在表中创建一个标识列。该属性与 CREATE TABLE 及 ALTER TABLE Transact-SQL 语句一起使用。说明 IDENTITY 属性与 SQL-DMO Identity 属性不同,后者表现列的行标识属性。 语法IDENTITY [ ( seed , increment ) ]参数seed装载到表中的第一个行所使用的值。increment增量值,该值被添加到前一个已装载的行的标识值上。必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值 (1,1)。注释如果在经常进行删除操作的表中存在着标识列,那么在标识值之间可能会产生差距。如果这构成了问题,那么请不要使用 IDENTITY 属性。但是,为了确保未产生差距,或者为了弥补现有的差距,在用 SET IDENTITY_INSERT ON 显式地输入标识值之前,请先对现有的标识值进行计算。如果重新使用已删除的标识值,那么请使用示例 B 中的示例代码进行检查,以获得下一个可用的标识值。请用您的表名、标识列数据类型以及(该数据类型的)最大可允许值的数值 –1 替换 tablename、column_type 和 max(column_type) – 1。使用 DBCC CHECKIDENT 检查当前的标识值,并将其与标识列中的最大值进行比较。 当将 IDENTITY 属性与 CREATE TABLE 一起使用时,Microsoft® SQL Server™ 使用 CREATE TABLE 的 NOT FOR REPLICATION 选项替代标识列的自动增加。通常,SQL Server 给插入表中的每个新行指派一个值,该值比前面的最高值要大出某些增量。但是,如果新行是由另一个数据源复制过来的,那么标识值必须保持与其在数据源中完全相同。------------------------------------------------------ 好像还是不行,即使我在HJ数据库中新建一个Log_Entry表,还是出现同样的提示。因为现在数据库升级的时间很紧,现在公司的网上业务全部都停了!所以还想请各位前辈多多指教! 查看表的这个ID字段DBCC CHECKTABLE (Log_Entry) 1、检查服务器上的表Log_Entry的字段ID,是不是identity(int,1,1)2、重置一下:参http://blog.csdn.net/happyflystone/archive/2007/11/25/1901966.aspx 'cn62001.Log_Entry' 的 DBCC 结果。对象 'cn62001.Log_Entry' 有 0 行,这些行位于 0 页中。DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。这样是不是就是说没有错误? 是的1、检查服务器上的表Log_Entry的字段ID,是不是identity(int,1,1) 2、重置一下: 参 http://blog.csdn.net/happyflystone/archive/2007/11/25/1901966.aspx 选择表的“创建对象脚本”时,显示如下的内容,是不是不对?CREATE TABLE [Log_Entry1] ( [ID] [int] NOT NULL , [UserName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [Log_IP] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [Log_OS] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [Log_Date] [datetime] NULL , [Log_Time] [datetime] NULL , [Log_Error] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [Lop_ErrorPsw] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]GO Log_Entry1 表中的Id改为标识列吧 新手请教问题。 SQL 语句 数据插入问题(在线等,急!) 求:这样的系统的数据库如何建立好? 怎么把一个日期和时间分离开来? 一个有关费用结算的问题? 求存储过程建立表的时候参数问题. 请问 这个“样本标准偏差”是什么意思? 大家建数据库,一个表最多达到过多少字段? SOS!哪位大虾有用VFP编写的维护管理SQL Server数据库的程序? check约束问题 100分求一个带Split功能的触发器,向高手求助!(急)
rs2.open sql2,db,3,3
rs2.addnew
rs2("UserName")=session("HJ_Name")
rs2("Log_IP")=request.ServerVariables("REMOTE_ADDR")
rs2("Log_OS")=vOS
rs2("Log_Date")=Date()
rs2("Log_Time")=Now()
rs2("Log_Error")="正常登录"
在表中创建一个标识列。该属性与 CREATE TABLE 及 ALTER TABLE Transact-SQL 语句一起使用。说明 IDENTITY 属性与 SQL-DMO Identity 属性不同,后者表现列的行标识属性。
语法
IDENTITY [ ( seed , increment ) ]参数
seed装载到表中的第一个行所使用的值。increment增量值,该值被添加到前一个已装载的行的标识值上。必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值 (1,1)。注释
如果在经常进行删除操作的表中存在着标识列,那么在标识值之间可能会产生差距。如果这构成了问题,那么请不要使用 IDENTITY 属性。但是,为了确保未产生差距,或者为了弥补现有的差距,在用 SET IDENTITY_INSERT ON 显式地输入标识值之前,请先对现有的标识值进行计算。如果重新使用已删除的标识值,那么请使用示例 B 中的示例代码进行检查,以获得下一个可用的标识值。请用您的表名、标识列数据类型以及(该数据类型的)最大可允许值的数值 –1 替换 tablename、column_type 和 max(column_type) – 1。使用 DBCC CHECKIDENT 检查当前的标识值,并将其与标识列中的最大值进行比较。 当将 IDENTITY 属性与 CREATE TABLE 一起使用时,Microsoft® SQL Server™ 使用 CREATE TABLE 的 NOT FOR REPLICATION 选项替代标识列的自动增加。通常,SQL Server 给插入表中的每个新行指派一个值,该值比前面的最高值要大出某些增量。但是,如果新行是由另一个数据源复制过来的,那么标识值必须保持与其在数据源中完全相同。
------------------------------------------------------
DBCC CHECKTABLE (Log_Entry)
参
http://blog.csdn.net/happyflystone/archive/2007/11/25/1901966.aspx
对象 'cn62001.Log_Entry' 有 0 行,这些行位于 0 页中。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。这样是不是就是说没有错误?
1、检查服务器上的表Log_Entry的字段ID,是不是identity(int,1,1) 2、重置一下:
参
http://blog.csdn.net/happyflystone/archive/2007/11/25/1901966.aspx
[ID] [int] NOT NULL ,
[UserName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Log_IP] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Log_OS] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Log_Date] [datetime] NULL ,
[Log_Time] [datetime] NULL ,
[Log_Error] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Lop_ErrorPsw] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO