C#2008修改数据问题

来源:百度知道 编辑:UC知道 时间:2024/09/26 14:12:09
从数据库读出一个表,表里显示用户列表,如用“01”号登录,不做任何处理时,"01"信息不可以修改,系统会报一个“违反并发性的错误”。现在我是想修改每一条记录,包括管理员(01),怎么做?
private SQLiteConnection con = new SQLiteConnection(ConfigurationManager.ConnectionStrings["con"].ToString());
SQLiteTransaction st;
private void CheckDBStatus()
{
if (con.State == ConnectionState.Closed)
{
con.Open();
}
}

private void PharParams(SQLiteCommand acmd, params object[] args)
{
for (int i = 0; i < args.Length; i++)
{
SQLiteParameter p = new SQLiteParameter();
p.Value = args[i];
p.ParameterName = "p" + i.ToString();
acmd.Parameters.Add(p);
p = null;
}
}
//登录查询
public NewDataSet OpenSQL(string sqlstr, params object[] args)
{
SQLiteCommand cmd = new SQLiteCommand(sqlstr, con);
PharParams(cmd, args);
SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
NewDataSet ds = new NewDataSet();

你贴的仅仅是底层的代码,还得贴下业务层的代码,比如用什么语句登录的,打算怎么修改
我怀疑是和使用transaction有关,你的BeginTrans和RollBackTrans里面写的啥?就是con.BeginTrans()这样么?

我晕死,搞了半天,你数据库底层操作共用1个con和SQLiteTransaction 啊.....
额,搞错了,共用con可以,但共用SQLiteTransaction 好像有问题
还有1个问题,你用的是SQLite开源数据库么?我才发现不是sqlserver....

建议贴上业务层的代码,怎么调用的