开发环境:SQL SERVER 2005 + C# 2005 + WINDOWS SERVER 2003  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
  [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
  public virtual DataSet1.FactoryManualDataTable GetNoSmallImage() {
  this.Adapter.SelectCommand = this.CommandCollection[3];
  DataSet1.FactoryManualDataTable dataTable = new DataSet1.FactoryManualDataTable();
  this.Adapter.Fill(dataTable);
  return dataTable;
  }
...
 this._commandCollection[3] = new global::System.Data.SqlClient.SqlCommand();
 this._commandCollection[3].Connection = this.Connection;
 this._commandCollection[3].CommandText = "SELECT ID, CategoryName, FactoryName, ShortName, UserName, SourceImagePath,FileNa" +
 "me, SmallImagePath, IsRecognised, Details, Memo, AddDate\r\nFROM FactoryManual\r\nWH" +
 "ERE (SmallImagePath IS NULL)";
 this._commandCollection[3].CommandType = global::System.Data.CommandType.Text;FactoryManual表有两个约束:
约束1:ALTER TABLE [dbo].[FactoryManual] ADD  CONSTRAINT [DF_FactoryManual_new_ProductId]  DEFAULT (newid()) FOR [new_ProductId]
约束2:ALTER TABLE [dbo].[FactoryManual] ADD  CONSTRAINT [DF_FactoryManual_AddDate]  DEFAULT (getdate()) FOR [AddDate]试过把dataset的enforcecontraints设为false也不行.执行GetNoSmallImage()老是出现错误:
未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。请大家指教!

解决方案 »

  1.   

    参考http://topic.csdn.net/u/20071106/09/3A63470C-F509-4BDA-97AA-5585D57B2E03.html
      

  2.   

    你没执行别的操作?你在数据库里执行过你的sql语句看过结果?
      

  3.   

    是啊,我在数据库用以下语句看结果:
    select * from FactoryManual where adddate>'2008-01-01'
      

  4.   

    /****** 对象:  Table [dbo].[FactoryManual]    脚本日期: 01/29/2008 11:00:12 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[FactoryManual](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [new_ProductId] [uniqueidentifier] NOT NULL CONSTRAINT [DF_FactoryManual_new_ProductId]  DEFAULT (newid()),
    [CategoryName] [nvarchar](80) COLLATE Chinese_PRC_CI_AS NULL,
    [FactoryName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NOT NULL,
    [ShortName] [nvarchar](80) COLLATE Chinese_PRC_CI_AS NULL,
    [UserName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [SourceImagePath] [nvarchar](200) COLLATE Chinese_PRC_CI_AS NOT NULL,
    [SmallImagePath] [nvarchar](200) COLLATE Chinese_PRC_CI_AS NULL,
    [FileName] [nvarchar](150) COLLATE Chinese_PRC_CI_AS NULL,
    [IsRecognised] [bit] NOT NULL,
    [Details] [text] COLLATE Chinese_PRC_CI_AS NULL,
    [Memo] [nvarchar](300) COLLATE Chinese_PRC_CI_AS NULL,
    [AddDate] [smalldatetime] NOT NULL CONSTRAINT [DF_FactoryManual_AddDate]  DEFAULT (getdate()),
     CONSTRAINT [PK_FactoryManual] PRIMARY KEY CLUSTERED 
    (
    [ID] ASC
    )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
      

  5.   

    原来的没问题:/****** 对象:  Table [dbo].[FactoryManual]    脚本日期: 01/29/2008 11:00:28 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[FactoryManual](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [new_ProductId] [uniqueidentifier] NOT NULL CONSTRAINT [DF_FactoryManual_new_ProductId]  DEFAULT (newid()),
    [CategoryName] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [FactoryName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
    [ShortName] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [UserName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [SourceImagePath] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NOT NULL,
    [SmallImagePath] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [FileName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [IsRecognised] [bit] NOT NULL,
    [Details] [nvarchar](max) COLLATE Chinese_PRC_CI_AS NULL,
    [Memo] [nvarchar](150) COLLATE Chinese_PRC_CI_AS NULL,
    [AddDate] [smalldatetime] NOT NULL CONSTRAINT [DF_FactoryManual_AddDate]  DEFAULT (getdate()),
     CONSTRAINT [PK_FactoryManual] PRIMARY KEY CLUSTERED 
    (
    [ID] ASC
    )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]