Click here to Skip to main content
12,691,637 members (31,881 online)
Rate this:
Please Sign up or sign in to vote.
See more: C#
i have following code

OdbcCommand Command = MainClass.Conn.CreateCommand();
  Command.Connection = MainClass.Conn;
  using (OdbcTransaction transaction = MainClass.Conn.BeginTransaction())
                Command.Transaction = transaction;
                    string saveStOpen = "Insert Statement.. "; \\ This This Is SQL Statement
                    Command.CommandText = saveStOpen;

                    string saveGRNSub = "Insert Statement.."; \\ This This Is SQL 
                    Command.CommandText = saveGRNSub;

                    OdbcCommand OpenTemp = new  OdbcCommand("SELECT * FROM GRN_TEMP WHERE (UserName = '" + MainClass.GetComputerName() + "')", MainClass.Conn);
                    OdbcDataAdapter da = new OdbcDataAdapter(OpenTemp);
                    DataTable dt = new DataTable();
                    da.Fill(dt); \\ This Point Genarate An Error 

                    if (dt.Rows.Count >0)

at da.Fill(dt);
Generate Error (executereader requires the command to have a transaction )

how to avoid this error

I highly appreciate in advance
Posted 12-Nov-12 22:47pm
Updated 12-Nov-12 22:54pm
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

Open the Connection Before Filling the DataTable
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

You need to set the transaction after setting the connection object in command

Check this example[^]

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Mobile
Web02 | 2.8.170117.1 | Last Updated 13 Nov 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100