欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

转载OleDb操作Access数据库:新增记录时获取自动编号的主键值

发布时间:2025/4/16 数据库 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 转载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();

 

《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的转载OleDb操作Access数据库:新增记录时获取自动编号的主键值的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。