-点点点点点 2014-11-24 01:52 采纳率: 0%
浏览 1605

在Web中使用DataAdapter.Update为何会报错?

跟同学合作做网站,我负责数据库方面,这是我写的一个更新页面数据的方法,运行到Update的时候总是会提醒错误,说是方法调用方式错误,在别的地方看到说在Web中不能使用Update? 想问一下这个地方是什么原因?该如何修改?

  • 写回答

1条回答 默认 最新

  • -点点点点点 2014-11-24 01:53
    关注

    问题描述有字数要求,代码如下:

    public static void cmdUpdate(string uname ,Users user)//使用Users类传递参数
    {
    Users mduser = user;
    string mStrconstr = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source = E:\Access\Database1.accdb";//绝对路径,需配置
    OleDbConnection mStrconn = new OleDbConnection();
    mStrconn.ConnectionString = mStrconstr;
    mStrconn.Open();
    string mStrsql = "SELECT * FROM [user] WHERE username = " + "'" + uname + "'";

            //将数据库中的数据添加到DataSet
            DataSet mStrds = new DataSet();
            OleDbDataAdapter mStrda = new OleDbDataAdapter(mStrsql,mStrconn);
            mStrda.FillSchema(mStrds,SchemaType.Source,"user");
            mStrda.Fill(mStrds,"user");
            DataRow stbr = mStrds.Tables[0].Rows[0];
    
            //修改各个参数。  
            stbr.BeginEdit();
            stbr["username"] = mduser.Username;
            stbr["password"] = mduser.Pword;
            stbr["name"] = mduser.Name;
            stbr["unit"] = mduser.Unit;
            stbr["lrank"] = mduser.Lrank;
            stbr["researcharea"] = mduser.Research;
            stbr["telnum"] = mduser.Telnum;
            stbr["email"] = mduser.Email;
            stbr["admin"] = mduser.Isadm;
            stbr["secretary"] = mduser.Issec;
            stbr["teacher"] = mduser.Istea;
            stbr.EndEdit();
    
            //mStrds.Tables[0].Rows[0].AcceptChanges();
    
            //将DataSet中的数据返回到数据库
            OleDbCommandBuilder mStrcmdb = new OleDbCommandBuilder(mStrda);
            if (mStrds.HasChanges())
            {
                try
                {
                    mStrda.Update(mStrds,"user");
                }
                catch (Exception ex)
                {
                    throw ex;//可添加提示信息:如信息格式错误等。
                }
                finally
                {
                    mStrconn.Close();
                }
            }
    
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料