#c# #asp.net #visual-studio #ms-access #database-connection
#c# #asp.net #visual-studio #ms-access #подключение к базе данных
Вопрос:
У меня есть школьный проект, в котором я должен создать веб-сайт, используя Asp.NET в Visual Studio.
По сути, веб-сайт представляет собой простую домашнюю страницу со ссылками на 5 других страниц для отображения данных о клиентах, данных о заказе, данных о продукте и т. Д. Для компании. Я уже создал соединение между базой данных MS Access и веб-сайтом в обозревателе серверов в Visual Studio, и я понимаю, как использовать элементы управления ListView и Gridview для отображения и обновления данных.
Тем не менее, я пытаюсь обновить две таблицы одновременно, используя свой собственный метод обновления.
Например, если бы я хотел внутри обработчика событий для нажатия кнопки изменить атрибут CustomerID клиента, код изменил бы CustomerID в таблице Customer, а также обновил бы внешний ключ для CustomerID в таблице Orders для этого конкретного клиента.
Нужно ли мне создавать метод getConnection? Буду ли я использовать SQL-запросы для достижения этой цели? Или есть более простой способ сделать это?
Прошу прощения, если это расплывчато или я использую неверную терминологию. Я новичок в работе с базами данных, но я могу ответить на конкретные вопросы о том, какую информацию я не смог предоставить, если это необходимо. Спасибо!!
Я добавил это утверждение в начало файла cs для одной из моих веб-страниц, которая должна быть правильной:
using System.Data.OleDb;
Вот некоторый код, который я пытался использовать, но это своего рода беспорядок
protected void btnSend_Click(object sender, EventArgs e)
{
//make this connect to our db
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\runwayDB1.mdb";
conn.Open();
connection.Close();
}
Комментарии:
1. Это слишком широкий вопрос для этого сайта, но просто отмечу: если бы я хотел изменить атрибут CustomerID клиента, код изменил бы CustomerID в таблице Customer, а также обновил бы внешний ключ для CustomerID в таблице Orders для этого конкретного клиента. — это довольно сложный сценарий. Вам нужно будет использовать транзакцию базы данных, чтобы убедиться, что оба обновления содержатся в транзакции базы данных, поэтому они должны либо оба завершиться, либо обновление не производится.
2. «если бы я хотел … изменить атрибут CustomerID клиента» , обычно вы не стали бы изменять значение ключа в записи. Он генерируется при создании записи и не изменяется в течение срока службы этой записи. Одна из причин заключается в том, что он начинает запутываться, когда у вас есть отношения с внешним ключом. Если вам нужно другое значение, которое можно редактировать, создайте для него отдельный столбец.
3. В противном случае я бы сказал «да», создайте соединение и напишите некоторый SQL, чтобы сделать то, что вам нужно. Использование элементов управления для отображения данных — хороший первый шаг, но понимание того, что происходит «под капотом», будет полезно для вашего прогресса. Если вы застряли с фактическим SQL, который вам нужно написать, задайте другой вопрос конкретно об этом!