TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
s 0
NA
21
0
Multiple transactions possible??
Dec 28 2004 6:20 PM
Well i'm trying the following thing. I want to update 2 tables. See below for the code. at this line: adapterProducts.InsertCommand.Transaction = adapterProducts.InsertCommand.Connection.BeginTransaction(); i get a error {"OleDbConnection does not support parallel transactions." } can somebody help me out?? string ConnectionString = @"Provider=Microsoft Jet 4.0 OLE DB Provider;Data Source=C:\test\test_Techno1.mdb;"; System.Data.OleDb.OleDbConnection connection = new System.Data.OleDb.OleDbConnection(ConnectionString); connection.Open(); OleDbTransaction transaction = null; string strSelectProducts = "SELECT PRODUCT_ID,NAME,PRICE,PRODUCT_CODE,BRAND FROM PRODUCTS"; string strInsertProducts = "INSERT INTO PRODUCTS (NAME,PRICE,PRODUCT_CODE,BRAND) VALUES (?, ?, ?, ?)"; System.Data.Common.DataColumnMapping[] dataColumnMappingProducts = (System.Data.Common.DataColumnMapping[]) Array.CreateInstance( typeof(System.Data.Common.DataColumnMapping), 5 ); dataColumnMappingProducts[0] = new System.Data.Common.DataColumnMapping("PRODUCT_ID","PRODUCT_ID"); dataColumnMappingProducts[1] = new System.Data.Common.DataColumnMapping("NAME,","NAME,"); dataColumnMappingProducts[2] = new System.Data.Common.DataColumnMapping("PRICE","PRICE"); dataColumnMappingProducts[3] = new System.Data.Common.DataColumnMapping("PRODUCT_CODE","PRODUCT_CODE"); dataColumnMappingProducts[4] = new System.Data.Common.DataColumnMapping("BRAND","BRAND"); OleDbDataAdapter adapterProducts = new OleDbDataAdapter(); adapterProducts.SelectCommand = new OleDbCommand(strSelectProducts, connection, transaction); adapterProducts.InsertCommand = new System.Data.OleDb.OleDbCommand(strInsertProducts, connection, transaction); adapterProducts.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {new System.Data.Common.DataTableMapping("products", "products", dataColumnMappingProducts)}); OleDbCommandBuilder cbProducts = new OleDbCommandBuilder(adapterProducts); DataSet dS = new DataSet(); adapterProducts.Fill(dS, "products"); adapterProducts.FillSchema(dS, System.Data.SchemaType.Mapped, "products"); adapterProducts.InsertCommand.Parameters.Add(new OleDbParameter("name", System.Data.OleDb.OleDbType.VarChar , 50 , "name")); adapterProducts.InsertCommand.Parameters.Add(new OleDbParameter("price", System.Data.OleDb.OleDbType.Currency , 20 , "PRICE")); adapterProducts.InsertCommand.Parameters.Add(new OleDbParameter("product_code", System.Data.OleDb.OleDbType.VarChar , 50 , "product_code")); adapterProducts.InsertCommand.Parameters.Add(new OleDbParameter("brand", System.Data.OleDb.OleDbType.VarChar , 20 , "brand")); string strSelectBrands = "SELECT BRAND_ID, NAME FROM BRANDS"; string strInsertBrands = "INSERT INTO BRANDS (NAME) VALUES (?)"; OleDbDataAdapter adapterBrands = new OleDbDataAdapter(); System.Data.Common.DataColumnMapping[] dataColumnMappingBrands = (System.Data.Common.DataColumnMapping[]) Array.CreateInstance( typeof(System.Data.Common.DataColumnMapping), 1); dataColumnMappingBrands[0] = new System.Data.Common.DataColumnMapping("NAME","NAME"); adapterBrands.SelectCommand = new OleDbCommand(strSelectBrands, connection, transaction); adapterBrands.InsertCommand = new System.Data.OleDb.OleDbCommand(strInsertBrands, connection, transaction); adapterBrands.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {new System.Data.Common.DataTableMapping("brands", "brands", dataColumnMappingBrands)}); adapterBrands.InsertCommand.Parameters.Add(new OleDbParameter("name", System.Data.OleDb.OleDbType.VarChar , 50 , "name")); OleDbCommandBuilder cbBrands = new OleDbCommandBuilder(adapterBrands); adapterBrands.Fill(dS, "brands"); adapterBrands.FillSchema(dS, System.Data.SchemaType.Mapped, "brands"); dS.Relations.Add(dS.Tables["brands"].Columns["brand_id"], dS.Tables["products"].Columns["brand"]); try { DataRow drBrand = dS.Tables["brands"].NewRow(); drBrand["name"] = "nieuwe naam"; dS.Tables["brands"].Rows.Add(drBrand); adapterBrands.InsertCommand.Transaction = adapterBrands.InsertCommand.Connection.BeginTransaction(); adapterBrands.Update(dS.GetChanges(), "brands"); DataRow drProduct = dS.Tables["products"].NewRow(); drProduct["name"] = "nieuw product"; drProduct["product_code"] = "product_code"; drProduct["price"] = "7,5"; drProduct["brand"] = 1; dS.Tables["products"].Rows.Add(drProduct); adapterProducts.InsertCommand.Transaction = adapterProducts.InsertCommand.Connection.BeginTransaction(); adapterProducts.Update(dS.GetChanges(), "products"); adapterBrands.InsertCommand.Transaction.Commit(); adapterProducts.InsertCommand.Transaction.Commit(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); }
Reply
Answers (
0
)
web problem
VB.net standard and the compact framework