У меня есть база данных SQL с указанным относительным пути к файлу. Я знаю, что путь к файлу работает, потому что программа работает без ошибок. Тем не менее, мой SQL работал нормально, пока я не изменил путь к файлу с полного пути к этому относительному пути.C# База данных SQL, не вставляющая данные
Когда я нажимаю кнопку отправки на своем WFA, программа выглядит так, как будто она сохраняется в базе данных, так как есть кратковременная пауза, но когда я смотрю в свою таблицу Student
, данные не были вставлены. Опять же, ошибок нет.
Я добавил точку останова на command.Parameters.AddWithValue("@FullName", sFnameTxtBox.Text);
, и она не отображается на вкладке местных жителей.
На вкладке источников данных иногда появляется значок красного x на SRSDB.mdf
, однако, когда я обновляю его, значок красного x исчезает.
Когда пользователь вводит свои данные в текстовые поля, детали должны быть вставлены в таблицу student
после нажатия кнопки «Отправить».
using System.Data.Sql;
using System.Data.SqlClient;
using System.Configuration;
using System.IO;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
SqlCommand command;
SqlConnection connection;
SqlDataAdapter dataAdapter;
private void button1_Click(object sender, EventArgs e)
{
connection = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename="+ Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SRSDB.mdf"));
connection.Open();
command = new SqlCommand("INSERT INTO Student (FullName, Email, TelNo, Username, Password) VALUES (@FullName, @Email, @TelNo, @Username, @Password)", connection);
command.Parameters.AddWithValue("@FullName", sFnameTxtBox.Text);
command.Parameters.AddWithValue("@Email", sEmailTxtBox.Text);
command.Parameters.AddWithValue("@TelNo", sTelNoTxtBox.Text);
command.Parameters.AddWithValue("@Username", sUnameTxtBox.Text);
command.Parameters.AddWithValue("@Password", sPwordTxtBox.Text);
command.ExecuteNonQuery();
}
}
}
где значение передачи параметра @FullName –
В вашем коде отсутствует 'command.Parameters.AddWithValue (" @ FullName ", sFnameTxtBox.Text);' строка в вашем коде. –
Как именно вы добавили точку прерывания в строку кода, которая не существует? Когда вы попытаетесь выполнить этот запрос, вы * * получите ошибку. Изучите эту ошибку, это говорит вам о проблеме. Кроме того, обратите внимание, *** никогда не хранит пароли пользователей в виде простого текста ***. Это *** абсолютно безответственно *** для ваших пользователей. – David