为什么用存储过程向数据库中插入的数据不能显示出来,但是有一列id自动增长会增长:如我在winform程序中向数据库添加了数据,刷新数据库查询没有数据,但在数据库中用sql语句添加一条信息后,再查询id会向后跳一个且只显示用sql添加的数据,可是当我不用存储过程时,会在数据库中正常显示出来。
你是不是实务没提交?那样的话会出现这个问题。
using (SqlConnection conn = new DBTools().GetConnection())
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
SqlCommand cmd = new SqlCommand(sqlString, conn);
cmd.Transaction = conn.BeginTransaction();
try
{
cmd.Parameters.AddRange(SqlParams);
int result = cmd.ExecuteNonQuery();
cmd.Transaction.Commit();
return result;
}
catch
{
cmd.Transaction.Rollback();
return -1;
}
}
看这是我的代码。
啊是没有提交的事呵呵这是另外一个里的写的,真的谢谢了!
@浩凡儿: 如果你在winform中查询不出来你插入的,那么你在sql管理器里面应该也查不到,你试试,如果也是查不到,那么你就在int result = cmd.ExecuteNonQuery();这个地方加一个断点,调试一下,看你代码是提交了,不知道具体问题是什么,自己定位问题。