«Ошибка создания нескольких таблиц в базе данных с использованием кода C#» ⇐ C#
-
Anonymous
«Ошибка создания нескольких таблиц в базе данных с использованием кода C#»
Я пытался создать несколько таблиц в своей базе данных с помощью этого кода C#:
public static bool TriggerDbMassAction_Branch() { bool isCompleted; пытаться { string createSalesTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ Продажи (InvoiceID INT UNIQUE PRIMARY KEY NOT NULL, ModelID VARCHAR(255) NOT NULL, BrandID VARCHAR(255) NOT NULL, QuantitySold INT NOT NULL, SellingPrice FLOAT NOT NULL, SoldTo VARCHAR(255) NOT NULL, CustomerContactInfo VARCHAR(255) NOT NULL, SoldOn TIMESTAMP NOT NULL);"; используя вар createSalesTableCommand = новый NpgsqlCommand (createSalesTable, con); createSalesTableCommand.ExecuteScalar(); string createPurchasesTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ Покупки (InvoiceID INT UNIQUE PRIMARY KEY NOT NULL, ModelID VARCHAR(255) NOT NULL, BrandID VARCHAR(255) NOT NULL, QuantityBought INT NOT NULL, BuyingPrice FLOAT NOT NULL, PurchasedFrom VARCHAR(255) NOT NULL, PurchaseContactInfo VARCHAR(255) NOT NULL, PurchasedOn TIMESTAMP NOT NULL);"; используя var createPurchasesTableCommand = новый NpgsqlCommand (createPurchasesTable, con); createPurchasesTableCommand.ExecuteScalar(); string createTransferInwardsTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ TransferInwards (TransferID INT UNIQUE PRIMARY KEY NOT NULL, ModelID VARCHAR(255) NOT NULL, BrandID VARCHAR(255) NOT NULL, QuantityTransferred INT NOT NULL, TransferredFrom VARCHAR(255) NOT NULL, SignedBy VARCHAR (255) NOT NULL, TransferredOn TIMESTAMP NOT NULL);"; используя var createTransferInwardsTableCommand = new NpgsqlCommand (createTransferInwardsTable, con); createTransferInwardsTableCommand.ExecuteScalar(); string createTransferOutwardsTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ TransferOutwards (TransferID INT UNIQUE PRIMARY KEY NOT NULL, ModelID VARCHAR(255) NOT NULL, BrandID VARCHAR(255) NOT NULL, QuantityTransferred INT NOT NULL, TransferredTo VARCHAR(255) NOT NULL, SignedBy VARCHAR (255) NOT NULL, TransferredOn TIMESTAMP NOT NULL);"; используя var createTransferOutwardsTableCommand = new NpgsqlCommand (createTransferOutwardsTable, con); createTransferOutwardsTableCommand.ExecuteScalar(); string createReturnInwardsTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ ReturnInwards (ReturnID INT UNIQUE PRIMARY KEY NOT NULL, ModelID VARCHAR(255) NOT NULL, BrandID VARCHAR(255) NOT NULL, QuantityReturned INT NOT NULL, ReturnedFrom VARCHAR(255) NOT NULL, SignedBy VARCHAR (255) NOT NULL, ReturnedOn TIMESTAMP NOT NULL);"; используя var createReturnInwardsTableCommand = new NpgsqlCommand (createReturnInwardsTable, con); createReturnInwardsTableCommand.ExecuteScalar(); string createReturnOutwardsTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ ReturnOutwards (ReturnID INT UNIQUE PRIMARY KEY NOT NULL, ModelID VARCHAR(255) FORIEGN KEY NOT NULL, BrandID VARCHAR(255) NOT NULL, QuantityReturned INT NOT NULL, ReturnedTo VARCHAR(255) NOT NULL, SignedBy VARCHAR(255) NOT NULL, ReturnedOn TIMESTAMP NOT NULL);"; используя var createReturnOutwardsTableCommand = новый NpgsqlCommand (createReturnOutwardsTable, con); createReturnOutwardsTableCommand.ExecuteScalar(); string createBranchInventoryTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ BranchInventory (ModelID VARCHAR(255) УНИКАЛЬНЫЙ ПЕРВИЧНЫЙ КЛЮЧ NOT NULL, BrandID VARCHAR(255) NOT NULL, Описание VARCHAR(255) NOT NULL, QuantityInStock INT NOT NULL, UnitPrice FLOAT NOT NULL, TotalWorth FLOAT НЕ НОЛЬ);"; используя var createBranchInventoryTableCommand = новый NpgsqlCommand (createBranchInventoryTable, con); createBranchInventoryTableCommand.ExecuteScalar(); string createCommitHistoryTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ CommitHistory (CommitID INT UNIQUE PRIMARY KEY NOT NULL, CommitDescription VARCHAR(255) NOT NULL, CommitDate TIMESTAMP NOT NULL, ApprovalStatus VARCHAR(255) NOT NULL, ApprovalDate TIMESTAMP);"; используя var createCommitHistoryTableCommand = new NpgsqlCommand (createCommitHistoryTable, con); createCommitHistoryTableCommand.ExecuteScalar(); isCompleted = Истина; } ловить { isCompleted = ложь; } возврат завершен; } Код пытается создать несколько таблиц, включая Sales, Purchases, TransferInwards, TransferOutwards, ReturnInwards, ReturnOutwards, инвентаризацию и фиксации. Каждая таблица имеет свой набор столбцов и ограничений.
Однако при выполнении кода я сталкиваюсь с сообщением об ошибке или непредвиденным поведением. Вот подробности ошибки:
В сообщении об ошибке говорится: «Выброшено исключение: Npgsql.PostgresException в System.Private.CoreLib.dll». Конкретная проблема, похоже, связана с определением таблицы или синтаксисом SQL.
Я раньше ничего не делал с sql и новичок в C#, но я уже проверил код и убедился, что определения таблиц и синтаксис SQL верны. Я использую NpgsqlCommand для выполнения SQL-запросов.
Я был бы признателен за любые идеи или предложения о том, как решить эту проблему и успешно создать несколько таблиц в моей базе данных. Заранее спасибо за помощь!
5 таблиц были созданы, но при создании остальных я получил эту ошибку:
Изображение:
Вот какие таблицы были созданы: Изображение:
Я пытался создать несколько таблиц в своей базе данных с помощью этого кода C#:
public static bool TriggerDbMassAction_Branch() { bool isCompleted; пытаться { string createSalesTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ Продажи (InvoiceID INT UNIQUE PRIMARY KEY NOT NULL, ModelID VARCHAR(255) NOT NULL, BrandID VARCHAR(255) NOT NULL, QuantitySold INT NOT NULL, SellingPrice FLOAT NOT NULL, SoldTo VARCHAR(255) NOT NULL, CustomerContactInfo VARCHAR(255) NOT NULL, SoldOn TIMESTAMP NOT NULL);"; используя вар createSalesTableCommand = новый NpgsqlCommand (createSalesTable, con); createSalesTableCommand.ExecuteScalar(); string createPurchasesTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ Покупки (InvoiceID INT UNIQUE PRIMARY KEY NOT NULL, ModelID VARCHAR(255) NOT NULL, BrandID VARCHAR(255) NOT NULL, QuantityBought INT NOT NULL, BuyingPrice FLOAT NOT NULL, PurchasedFrom VARCHAR(255) NOT NULL, PurchaseContactInfo VARCHAR(255) NOT NULL, PurchasedOn TIMESTAMP NOT NULL);"; используя var createPurchasesTableCommand = новый NpgsqlCommand (createPurchasesTable, con); createPurchasesTableCommand.ExecuteScalar(); string createTransferInwardsTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ TransferInwards (TransferID INT UNIQUE PRIMARY KEY NOT NULL, ModelID VARCHAR(255) NOT NULL, BrandID VARCHAR(255) NOT NULL, QuantityTransferred INT NOT NULL, TransferredFrom VARCHAR(255) NOT NULL, SignedBy VARCHAR (255) NOT NULL, TransferredOn TIMESTAMP NOT NULL);"; используя var createTransferInwardsTableCommand = new NpgsqlCommand (createTransferInwardsTable, con); createTransferInwardsTableCommand.ExecuteScalar(); string createTransferOutwardsTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ TransferOutwards (TransferID INT UNIQUE PRIMARY KEY NOT NULL, ModelID VARCHAR(255) NOT NULL, BrandID VARCHAR(255) NOT NULL, QuantityTransferred INT NOT NULL, TransferredTo VARCHAR(255) NOT NULL, SignedBy VARCHAR (255) NOT NULL, TransferredOn TIMESTAMP NOT NULL);"; используя var createTransferOutwardsTableCommand = new NpgsqlCommand (createTransferOutwardsTable, con); createTransferOutwardsTableCommand.ExecuteScalar(); string createReturnInwardsTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ ReturnInwards (ReturnID INT UNIQUE PRIMARY KEY NOT NULL, ModelID VARCHAR(255) NOT NULL, BrandID VARCHAR(255) NOT NULL, QuantityReturned INT NOT NULL, ReturnedFrom VARCHAR(255) NOT NULL, SignedBy VARCHAR (255) NOT NULL, ReturnedOn TIMESTAMP NOT NULL);"; используя var createReturnInwardsTableCommand = new NpgsqlCommand (createReturnInwardsTable, con); createReturnInwardsTableCommand.ExecuteScalar(); string createReturnOutwardsTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ ReturnOutwards (ReturnID INT UNIQUE PRIMARY KEY NOT NULL, ModelID VARCHAR(255) FORIEGN KEY NOT NULL, BrandID VARCHAR(255) NOT NULL, QuantityReturned INT NOT NULL, ReturnedTo VARCHAR(255) NOT NULL, SignedBy VARCHAR(255) NOT NULL, ReturnedOn TIMESTAMP NOT NULL);"; используя var createReturnOutwardsTableCommand = новый NpgsqlCommand (createReturnOutwardsTable, con); createReturnOutwardsTableCommand.ExecuteScalar(); string createBranchInventoryTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ BranchInventory (ModelID VARCHAR(255) УНИКАЛЬНЫЙ ПЕРВИЧНЫЙ КЛЮЧ NOT NULL, BrandID VARCHAR(255) NOT NULL, Описание VARCHAR(255) NOT NULL, QuantityInStock INT NOT NULL, UnitPrice FLOAT NOT NULL, TotalWorth FLOAT НЕ НОЛЬ);"; используя var createBranchInventoryTableCommand = новый NpgsqlCommand (createBranchInventoryTable, con); createBranchInventoryTableCommand.ExecuteScalar(); string createCommitHistoryTable = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ CommitHistory (CommitID INT UNIQUE PRIMARY KEY NOT NULL, CommitDescription VARCHAR(255) NOT NULL, CommitDate TIMESTAMP NOT NULL, ApprovalStatus VARCHAR(255) NOT NULL, ApprovalDate TIMESTAMP);"; используя var createCommitHistoryTableCommand = new NpgsqlCommand (createCommitHistoryTable, con); createCommitHistoryTableCommand.ExecuteScalar(); isCompleted = Истина; } ловить { isCompleted = ложь; } возврат завершен; } Код пытается создать несколько таблиц, включая Sales, Purchases, TransferInwards, TransferOutwards, ReturnInwards, ReturnOutwards, инвентаризацию и фиксации. Каждая таблица имеет свой набор столбцов и ограничений.
Однако при выполнении кода я сталкиваюсь с сообщением об ошибке или непредвиденным поведением. Вот подробности ошибки:
В сообщении об ошибке говорится: «Выброшено исключение: Npgsql.PostgresException в System.Private.CoreLib.dll». Конкретная проблема, похоже, связана с определением таблицы или синтаксисом SQL.
Я раньше ничего не делал с sql и новичок в C#, но я уже проверил код и убедился, что определения таблиц и синтаксис SQL верны. Я использую NpgsqlCommand для выполнения SQL-запросов.
Я был бы признателен за любые идеи или предложения о том, как решить эту проблему и успешно создать несколько таблиц в моей базе данных. Заранее спасибо за помощь!
5 таблиц были созданы, но при создании остальных я получил эту ошибку:
Изображение:
Вот какие таблицы были созданы: Изображение:
Мобильная версия