У меня есть два проекта windows, одна из них - страница входа в систему, и SQL установлена как select from
, а другая страница - это студент, и она установлена как insert into
.
Я хочу, чтобы столбец username
из таблицы student
как-то появлялся в таблице вставок.
public string saveduser;
private void button_Click(object sender, RoutedEventArgs e)
{
SqlConnection sqlCon = new SqlConnection(@"Data Source = root\SQLEXPRESS; Initial Catalog =Log-In; Integrated Security = True");
try
{
if (sqlCon.State == ConnectionState.Closed)
sqlCon.Open();
string query = "SELECT COUNT(1) FROM Login WHERE Username = @Username AND password = @password AND usertype = @usertype";
SqlCommand sqlCmd = new SqlCommand(query, sqlCon);
sqlCmd.CommandType = CommandType.Text;
sqlCmd.Parameters.AddWithValue("@Username", txtUsername.Text);
sqlCmd.Parameters.AddWithValue("@password", txtPassword.Text);
}
......
}
Страница ученика:
private void button_Click(object sender, RoutedEventArgs e)
{
Login aa = new Login();
string newsaveduser = aa.saveduser;
using (var Con = new SqlConnection(@"Data Source=root\SQLEXPRESS; Initial Catalog=Log-In; Integrated Security=True"))
{
Con.Open();
var table = "INSERT INTO Student (username, DepartureCity, ArrivalCity, DateOfDeparture, DateOfReturn) VALUES (@username, @DepartureCity, @ArrivalCity, @DateOfDeparture, @DateOfReturn)";
using (var cmd = new SqlCommand(table, Con))
{
// again here trying to use the textbox but it keep giving me error SqlParameter unitsParam = cmd.Parameters.AddWithValue("@username", newsaveduser);
if (aa.saveduser == null)
{
unitsParam.Value = DBNull.Value;
}
cmd.Parameters.AddWithValue("@DepartureCity", fromtxt.Text);
cmd.Parameters.AddWithValue("@ArrivalCity", Totxt.Text);
cmd.Parameters.AddWithValue("@DateOfDeparture", date_time_picker.Text);
cmd.Parameters.AddWithValue("@DateOfReturn", date_time_picker1.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Data inserted successfully");
}
}
}
Ошибка Я получаю с этим кодом:
Дополнительная информация: Невозможно вставить значение NULL в столбец «имя пользователя», таблица «Log-In.dbo.Student»; столбец не допускает пустых значений. Вставить не удается