zoukankan      html  css  js  c++  java
  • <转载>OleDb操作Access数据库:新增记录时获取自动编号的主键值

    //打开数据库的一般方法
    OleDbConnection cnn = new OleDbConnection(sCnn);
    cnn.Open();
    DataTable table = new DataTable();
    try
    {
        OleDbCommand cmd = new OleDbCommand(sCommand, cnn);
        cmd.CommandType = cmdType;
        //构建DataAdapter
        OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
        //填充数据
        table = new DataTable(sDataTableName);
        adapter.Fill(table);
        cnn.Close();
        table.PrimaryKey = new DataColumn[1] { table.Columns[0] };
        OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
        builder.QuotePrefix = "[";
        builder.QuoteSuffix = "]";
        adapter.InsertCommand = builder.GetInsertCommand();
        adapter.DeleteCommand = builder.GetDeleteCommand();
        adapter.UpdateCommand = builder.GetUpdateCommand();
        adapter.RowUpdated += new OleDbRowUpdatedEventHandler(OnRowUpdated);
    }
    catch
    {
    }
     
     
    //========================
    //OleDbRowUpdatedEventHandler实例
    protected void OnRowUpdated(object sender, OleDbRowUpdatedEventArgs e)
    {
        if ((e.Status == UpdateStatus.Continue) && e.StatementType == StatementType.Insert)
        {
            int newID = 0;
            OleDbCommand cmdGetId = new OleDbCommand("SELECT @@IDENTITY", e.Command.Connection);
            newID = (int)cmdGetId.ExecuteScalar();
            e.Row["id"] = newID;
            if (newID == 0)
            {
                MessageBox.Show("获取ID值错误!");
            }
        }
    }
     
    //========================
    //修改row的数据
        System.Data.DataTable tblChange = table.GetChanges();
        affectRowCount = adapter.Update(tblChange);
        if (mode == modeNew)
        {
            row["id"] = tblChange.Rows[0]["id"];
        }
        table.AcceptChanges();
    

      

  • 相关阅读:
    时间
    matplotlib中文乱码
    文件路径
    mysql按照秒、分钟、小时、天、月、年统计数量
    python运行jmx文件
    查看Kafka group中的历史消息
    Django 工作流程
    python PyQt5 制作简单计算器
    python 根据链家爬取的信息生成云词
    python 爬取链家二手房信息
  • 原文地址:https://www.cnblogs.com/ChangTan/p/2303787.html
Copyright © 2011-2022 走看看