Click here to Skip to main content
13,143,985 members (35,044 online)
Rate this:
Please Sign up or sign in to vote.
See more:
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 21:47pm
Updated 12-Nov-12 21:54pm
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[^]
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

Open the Connection Before Filling the DataTable

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 |
Web01 | 2.8.170915.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