处理使用 SQL Server 的 WinForm 项目。
目前,my 的属性设置为 。MusicPlayerDB.mdfCopy to Output DirectoryCopy if newer
运行我的 后,我关闭了 Winform 并继续在服务器资源管理器中检查该表。但似乎我的表没有更新。但是如果我去检查和检查,数据就在那里。InsertIntoDBBin/DebugMusicPlayerDB.mdf
解决此问题的最佳方法是什么?我看到其他评论说使用绝对路径(或类似的东西),但如果可能的话,我想避免这种情况。.mdf
这是我的连接字符串,
private const String CONNECTION_STRING = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\MusicPlayerDB.mdf;Integrated Security=True";
这是我的插入代码:
private static void InsertIntoDB(List<string> userAccout)
{
String sqlQuery = "INSERT INTO dbo.UserAccount (UserName, UserPassword, PasswordQuestion, PasswordHint, PasswordKey) "
+ "VALUES (@UserName, @UserPassword, @PasswordQuestion, @PasswordHint, @PasswordKey);";
using(SqlConnection connection = new SqlConnection(CONNECTION_STRING))
{
connection.Open(); //open connection
using(SqlCommand command = new SqlCommand(sqlQuery, connection))
{
// set up command
using(SqlTransaction trans = connection.BeginTransaction())
{
try
{
command.Connection = connection;
command.Transaction = trans;
command.Parameters.AddWithValue("@UserName", userAccout[0]);
command.Parameters.AddWithValue("@UserPassword", userAccout[1]);
command.Parameters.AddWithValue("@PasswordQuestion", userAccout[2]);
command.Parameters.AddWithValue("@PasswordHint", userAccout[3]);
command.Parameters.AddWithValue("@PasswordKey", Convert.ToInt32(userAccout[4]));
int r = command.ExecuteNonQuery(); //execute the command
trans.Commit();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message); //couldn't execute command
}
}
}
}
} //end of InsertIntoDB
牧羊人nacy