Я пишу метод для вставки ученика в локальную базу данных SQL, которая содержит таблицу с информацией о учениках:
public void AddStudent(string name, string teachName, string pass)
{
string dbfile = new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).DirectoryName + "\\Logo.sdf";
SqlCeConnection connection = new SqlCeConnection("Data Source=" + dbfile + "; Password = 'dbpass2011!'");
connection.Open();
SqlCeTransaction transaction = connection.BeginTransaction();
SqlCeCommand command = connection.CreateCommand();
command.Transaction = transaction;
command.CommandText = "INSERT INTO Students VALUES ('@name', '@id', '@pass', '@tname')";
command.Parameters.Add("@name", name);
command.Parameters.Add("@id", this.ID);
command.Parameters.Add("@pass", MD5Encrypt.MD5(pass));
command.Parameters.Add("@tname", teachName);
command.Prepare();
command.ExecuteNonQuery();
transaction.Commit();
connection.Dispose();
connection.Close();
}
Всякий раз, когда я использую это, он никогда не вставляет данные в таблицу, когдаЯ смотрю на содержимое таблицы студентов в базе данных.Первоначально у меня было это возвращаемое значение int, чтобы я мог видеть, сколько строк оно затронуло, которое всегда возвращало 1, поэтому я знаю, что оно работает.
Я искал ответы на этот вопрос и ответы на похожие вопросы.было то, что спрашивающий смотрел на неправильный файл .sdf.Я убедился, что я смотрю на правильный файл.
Любая обратная связь будет принята с благодарностью!