У меня есть локальная база данных для системы / приложения, которое я делаю.В этой БД у меня есть «Книги и столбцы категорий» - CategoryID также входит в таблицу «Книги» в качестве внешнего ключа, и у меня есть 10 записей категорий для жанров книг, таких как «Комиксы» (ID: 1), «Поделки» (ID:2), «Образование» (ID: 3) и т. Д.
В настоящее время в приложении реализована функция «Добавить запись книги», поэтому при сохранении в мою БД добавляется новая запись книги сподробности, приведенные, однако, для CategoryID (в таблице Книги), я могу вводить только целые числа, которые я не хочу (как объяснено ниже)
(Кстати, извиняюсь, но я все еще новичок в коде)
Я видел некоторые учебники по Enums, но я не могу найти ничего о том, как комбинировать Enum с комбинированным списком.
Я хочу, чтобы комбинированный список показывал что-то вроде:
1 - комиксы, 2 - ремесла, 3 - образование и т. Д.
Вышеприведенный выпадающий список в выпадающем списке будет указывать (например) «1 - комиксы» для CategoryID: 1, «2 - Ремесла для CategoryID: 2 и т. Д.
Это то, что я могУ меня вне кнопки «Добавить новую запись»
public partial class AddBookRecordForm : Form
{
public AddBookRecordForm()
{
InitializeComponent();
}
enum BookCategory
{
Comics = 1,
Crafts = 2,
Education = 3,
History = 4,
Entertainment = 5,
Thriller = 6,
Religion = 7,
Romance = 8,
Fantasy = 9,
Sports = 10
}
Не уверен, что делать дальше - я предполагаю, что следующую часть кода нужно будет реализовать в коде кнопки «Сохранить».
Для справки ниже приведено соединение с БД, которое я установил в методе «Кнопка сохранения».
string ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=
C:\Program Files\Microsoft SQL
Server\MSSQL14.SQLEXPRESS\MSSQL\DATA\Library System Project.mdf
;Integrated Security=True;Connect Timeout=30";
string Query = "insert into Books (BookName, BookAuthor, CategoryID, ClassificationID, BookAvailabilityQuantity, Price) values ('" + this.txtName.Text.Trim() + "','" + this.txtAuthor.Text.Trim() + "','" + this.txtCategory.Text.Trim() + "','" + this.txtClassification.Text.Trim() + "','" + this.txtAvailabilityQuantity.Text.Trim() + "','" + this.txtPrice.Text.Trim() + "');";
SqlConnection DBCon = new SqlConnection(ConnectionString);
SqlCommand DBCommand = new SqlCommand(Query, DBCon);
SqlDataReader DBReader;
try
{
DBCon.Open();
DBReader = DBCommand.ExecuteReader();
MessageBox.Show("New book record added to the system.", "Library System", MessageBoxButtons.OK);
while (DBReader.Read())
{
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
// *** If you're going to be opening a connection be sure to close it ***
// *** Finally blocks work well for this ***
DBCon.Close();
this.txtName.ResetText();
this.txtAuthor.ResetText();
this.txtCategory.ResetText();
this.txtClassification.ResetText();
this.txtAvailabilityQuantity.ResetText();
this.txtPrice.ResetText();
}
}