【发布时间】:2022-08-03 17:41:20
【问题描述】:
我得到了可怕的“ExecuteNonQuery 需要一个打开且可用的连接。连接的当前状态是关闭的。”错误,即使连接是打开的(见图)。这是我的代码。我哪里错了?我在queryInsertSong.ExecuteNonQuery();称呼。
connectionManager = new ConnectionManager();
using (SqlConnection conn = new SqlConnection(connectionManager.ConnectionString))
{
conn.Open();
string insertSong = \"Insert into Songs (SongTitle, Artist, Genre, Album, Year, Length, FullPath) \" +
\"VALUES (@SongTitle, @Artist, @Genre, @Album, @Year, @Length, @FullPath)\";
using (SqlCommand queryInsertSong = new SqlCommand(insertSong, conn))
{
queryInsertSong.Connection = connectionManager.DBConnection;
queryInsertSong.Parameters.Add(\"@SongTitle\", SqlDbType.VarChar, 80).Value = song.SongTitle;
queryInsertSong.Parameters.Add(\"@Artist\", SqlDbType.VarChar, 50).Value = song.Artist;
queryInsertSong.Parameters.Add(\"@Genre\", SqlDbType.VarChar, 30).Value = song.Genre;
queryInsertSong.Parameters.Add(\"@Album\", SqlDbType.VarChar, 30).Value = song.Album;
queryInsertSong.Parameters.Add(\"@Year\", SqlDbType.Int, 4).Value = song.Year;
queryInsertSong.Parameters.Add(\"@Length\", SqlDbType.VarChar, 80).Value = song.Length;
queryInsertSong.Parameters.Add(\"@FullPath\", SqlDbType.VarChar, 80).Value = song.FullPath;
queryInsertSong.ExecuteNonQuery();
}
}
标签: sql connection