У меня есть две таблицы в соответствии с приведенной ниже диаграммой, а также некоторые примеры данных в таблице.Чтение последнего вставленного UID из базы данных с помощью команды SQL
То, что я пытаюсь добиться в моем проекте заключается в следующем. У меня есть 4 окна в моем проекте. Первая форма с двумя кнопками
New User
имеет событие щелчка зача-
private void button1_Click(object sender, EventArgs e)
{
NewUser nu = new NewUser();
nu.Show();
}
Upon мыши, она воспитывает NEWUSER образуют
План добавить данные здесь Users Table
, затем нажмите Save and Proceed
(прямо сейчас я использую кнопку Save
по умолчанию на панели NAV), которая примет UID
от Users Table
и добавьте его под столбцом UID
(который является внешним ключом в Address Table
) и открытой формой FormAddress
, где я могу ввести данные для таблицы.
Нажмите событие для Save and Proceed
is--
private void button1_Click(object sender, EventArgs e)
{
FormAddress ad = new FormAddress();
ad.Show();
getdata();
}
Upon исследования я узнал, что мне нужно использовать SCOPE_IDENTITY
, чтобы получить значение UID
от последнего ввода данных и нести его к следующей форме. Таким образом, я создал метод getdata()
следующим образом и добавить его под кнопкой события Save and Proceed
Код я попытался это
private void getdata()
{
SqlConnection sqlConnection1 = new SqlConnection(@"mycon string is here;" + "Initial Catalog=Stack;Integrated Security=YES");
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;
cmd.CommandText = "SELECT * FROM Users";
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection1;
sqlConnection1.Open();
reader = cmd.ExecuteReader();
// Data is accessible through the DataReader object here.
cmd.CommandText = "SCOPE_IDENTITY();";
sqlConnection1.Close();
}
Я просто не могу получить мою голову на работу и выяснить, как получить SCOPE_IDENTITY
и заставить его работать. Пожалуйста, спросите меня, прежде чем я приступлю к голосованию. Я отвечу и отвечу/внесем необходимые изменения. И я заархивировал проект и файл сервера SQL HERE, если кто-то хочет загрузить их для запуска и тестирования. Я использовал SQL Server 2014 и Visual Studio 2013.
'SCOPE_IDENTITY()' возвращает последний идентификатор, созданный в рамках правильной партии, другими словами, идентификатор записи, который был только что вставили. Вы не вставляете запись, поэтому она неприменима. Что вы на самом деле хотите? Самый высокий текущий 'UID'? 'SELECT MAX (UID) FROM Users' –
@BenRobinson Во второй форме' NewUser' Я вставляю новую строку. Я хочу, чтобы UID переносился автоматически в следующую форму «Адрес», где я могу продолжать заполнять данные под тем же UID, что и «Таблица пользователей» – envyM6