为什么使用SQL Serve Express在SQL Server管理工作室中没有显示添加的记录?
我正在为我的数字音乐文件测试大量记录。
我的添加例程是:
foreach (AlbumModel albumModel in albs) { try { Album album = GetAlbum(albumModel); cmd.CommandText = @"insert into CDS (title,artist,cddbid,genre,tracks,notes) values (@title,@artist,@cddbid,@genre,@tracks,@notes)"; cmd.Parameters["@title"].Value = album.Title; cmd.Parameters["@artist"].Value = album.Artist; cmd.Parameters["@cddbid"].Value = album.Id; cmd.Parameters["@genre"].Value = album.Genre.First().ToString(); cmd.Parameters["@tracks"].Value = album.Tracks.Count(); //cmd.Parameters["@image"].Value = GetCover(album.Title); cmd.Parameters["@notes"].Value = GetNotes(album); cmd.ExecuteNonQuery(); cmd.CommandText = @"Select @@Identity"; var retval = cmd.ExecuteScalar(); } catch (Exception e) { string err = e.Message; } }
这工作正常,我可以通过简单加载数据表来查看记录。 但是,使用SQL Server Management Studio并连接到我的计算机上的同一个快速数据库,一个简单的select * from CDS
根本不会显示任何记录。
我错过了什么吗?
using (SqlConnection connection = new SqlConnection(conn)) { using (SqlDataAdapter adapter = new SqlDataAdapter("select * from CDS order by title", connection)) { adapter.Fill(dt); } }
我没有使用交易。
连接字符串是:@“Data Source = MyPC SQLEXPRESS; Initial Catalog = Music; Integrated Security = true”
这与SSMS完全相同。
可能是你打开一个sql事务而不是提交它。 后
var retval = cmd.ExecuteScalar();
添加此行
YourTansaction.Commit(); YourTansaction.Dispose(); YourConnection.Close();
经典问题是您在使用事务时插入数据而您不提交事务。 你可以试试
select * from CDS with (READUNCOMMITTED) order by title
来自sql管理。 这样,您就可以在打开的事务中看到未提交的行。
(显然,如果这是问题,那么你必须修改你的代码来提交交易!)
在SQL Server的Object explorer中,导航到要从程序插入的表,然后右键单击 – >选择“选择前1000行”。 谢谢
上述就是C#学习教程:为什么使用SQL Serve Express在SQL Server管理工作室中没有显示添加的记录?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1011253.html