Я пытаюсь извлечь некоторые данные из таблицы SQL в моем наборе данных, используя C#.Как запустить запрос в наборе данных, который возвращает разные столбцы в таблицу?
В этом случае мне не нужно все столбцы только несколько конкретных из них, тем не менее, как я не отходили столбец с обязательным NOT NULL, копия таблицы бросает исключение
"Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints."
Я уверен, что могу обойти это, вернув столбец unNableable в мой стол, но я хочу избежать возврата ненужных данных.
Запрос я использую, который бросает это исключение составляет
SELECT DeviceSerialNumber, BuildID, LEMSCredentialsID, LEMSSoftwareID, OwnerID, RestagedDate
FROM tblDevice
WHERE (DeviceSerialNumber = @SerialNumber)
Это исключает обязательный столбец «tblLocationID». На самом деле, хотя этот столбец является обязательным только при рассмотрении базы данных в целом, а не тогда, когда мне просто нужны детали сборки и программного обеспечения для использования в моей форме.
Я пытаюсь использовать этот запрос следующим образом.
private DataTable dtDevice;
dtDevice = taDevice.GetDataByDeviceSN_ForRestage(txtDeviceSerial.Text);
Я заметил при просмотре данных предварительного просмотра, Visual Studio рисует столбцы, которые не указаны в моем SQL, включая колонку tblLOcationID это, однако, не заполнять эти столбцы с данными.
В любом случае я могу использовать эти данные во временной таблице без импорта неэлементного аспекта столбца? желательно, не вытягивая все неиспользуемые столбцы?
Для полноты, вот определение (- минус определения внешнего ключа) таблицы источника:
CREATE TABLE [dbo].[tblDevice](
[DeviceSerialNumber] [nvarchar](50) NOT NULL,
[Model] [nvarchar](50) NULL,
[ManufactureDate] [smalldatetime] NULL,
[CleanBootDate] [smalldatetime] NULL,
[BuildID] [int] NULL,
[Notes] [nvarchar](3000) NULL,
[AuditID] [int] NULL,
[LocationID] [int] NOT NULL,
[SimID] [int] NULL,
[LEMSCredentialsID] [int] NULL,
[LEMSSoftwareID] [int] NULL,
[OwnerID] [int] NULL,
[RestagedDate] [smalldatetime] NULL,
[Boxed] [bit] NULL,
CONSTRAINT [PK_tblDevice_1] PRIMARY KEY CLUSTERED
([DeviceSerialNumber] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]
Это делает работу. Спасибо Большое. Это принесло мне совершенно новый слой конфессии, но это еще один вопрос :-) Еще раз спасибо –