public int InsertPayment(String cardholderName, String cardType, String cardNumber, DateTime cardExpiration) { DataSet ds = new DataSet(); DataSetTableAdapters.paymentsTableAdapter adapter = new DataSetTableAdapters.paymentsTableAdapter(); adapter.Insert(cardholderName, cardType, cardNumber, cardExpiration); // this is a *bad* way of getting the record's identity, but MS Access doesn't support batch SQL statements // a real DB would be able to combine the insert statement and a select statement in one batch call! int identity = (int)adapter.GetIdentity(); return identity; }