473,804 Members | 3,138 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

win32com and ADO

I'm having one of those weeks.

I have this pattern all over my code.

result = conn.execute("s elect * from foo")

while not result.EOF:
doSomething()
result.MoveNext ()

So recently I got around to running makepy on all of the Microsoft
ActiveX Data Objects, and now every call to that pattern is returning:

'tuple' object has no attribute EOF

can anyone tell me how I'm supposed to be using EOF?

can anyone point me to the file that has the function lists?

can anyone tell me how to undo what I've done?

Jul 19 '05 #1
6 1989
Chris Curvey wrote:
I'm having one of those weeks.

I have this pattern all over my code.

result = conn.execute("s elect * from foo")

while not result.EOF:
doSomething()
result.MoveNext ()

So recently I got around to running makepy on all of the Microsoft
ActiveX Data Objects, and now every call to that pattern is returning:

'tuple' object has no attribute EOF

can anyone tell me how I'm supposed to be using EOF?
There are case sensitivity differences with and without makepy. I think
after makepy you have to respect the case of all names, so check for Eof
or eof or something.
can anyone point me to the file that has the function lists?

can anyone tell me how to undo what I've done?


Remove the files created by makepy. I forget where they exist but
they're not hard to find (check the makepy source if nothing else).

-Peter
Jul 19 '05 #2
Chris Curvey wrote:
result = conn.execute("s elect * from foo")

while not result.EOF:
doSomething()
result.MoveNext ()

'tuple' object has no attribute EOF


The recordset you are looking for is a element of the tuple. Out of my
head I would say it's element 1, so you have to write:

result = conn.execute("s elect * from foo")[1]

regards,
Achim
Jul 19 '05 #3
Thanks Peter.

I found the files that makepy generated (in
$PYTHON_HOME/Lib/site-packages/win32com/gen_py). I've tried deleting
the individual files, and the entire directory, and I'm still getting
the error. (Maybe something was changed in the registry?)

[Fun side note -- after deleting the files, I thought I would look in
them for the EOF, but they stubbornly refused to regenerate, giving an
error about "This file has already been processed". The only way I
could regenerate the files was by deleting the win32com package via the
control panel and re-installing.]

In the generated files, I did find a reference to "EOF" (all caps) in
something called _prop_map_get_. (I had tried a few different
variations on Eof, but none of them worked.)

At this point, the only way that I can get to the EOF property is to
force the dynamic dispatch by importing from com.win32.clien t.dynamic,
AND coding like this:

rs = Dispatch("ADODB .RecordSet")
rs.ActiveConnec tion = conn
rs.Open("select * from foo")
while not rs.EOF:
doSomething()
rs.MoveNext()

I hope someone can lend me a clue before I edit all of these query
instances...

Jul 19 '05 #4
Achim,

Bingo. The recordset is in item 0. And that appears to work even on
systems where makepy has not been run.

Thanks so much.

Jul 19 '05 #5
Chris Curvey wrote:
Achim,

Bingo. The recordset is in item 0. And that appears to work even on
systems where makepy has not been run.

Thanks so much.


So was this not really something that was working *before* you ran
makepy, or is there still an unsolved mystery there?
Jul 19 '05 #6
it was working fine before running makepy, once I ran makepy, I had to
add the array index to make it work.

Jul 19 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
5199
by: Justin Stockton | last post by:
I recently upgraded from ActivePython 2.2.2 to ActivePython 2.3.2 and I'm running into an issue importing the win32com.client module. Before installing the new version, I made sure to properly remove old version (as well as the mx libraries I had installed). I then installed the new version as a user with the Administrator role. I know I'm technically not supposed to install to a directory with a space in the name, but it worked fine for...
3
7028
by: RJ | last post by:
Hi, I've been going over the Quick Start to Client side COM and Python and many other sources, but cannot find an example that will get my com/ActiveX .ocx USB device driver imported. The Excel and Word examples run fine. win32com.client.Dispatch("Excel.Application") etc., but how does one know the ("<foo>.<bar>") to type in? Excel looks only vaguely like "Excel.Application" in the com browser.
0
1913
by: Paul McGuire | last post by:
Software versions: Python - 2.3.3 win32all extensions - build 163 OS- Win2000 SP4 I am having trouble in accessing a customer's proprietary COM type library. After running makepy against the customer's typelib, I am still unable to create a typed object, getting the following Python traceback (I have to sanitize the customer's product, I have replaced it with XYZ):
2
7102
by: Sibylle Koczian | last post by:
Hello, I've installed Python 2.4 and the win32 extensions, using administrator rights, under Windows XP in "C:\Programme". As this is a directory without spaces I didn't expect any problems. But now I can't _use_ win32com as a normal user, because normal users can't write there: PythonWin 2.4.1 (#65, Mar 30 2005, 09:13:57) on win32. Portions Copyright 1994-2004 Mark Hammond (mhammond@skippinet.com.au) -
3
6960
by: tyler.schlosser | last post by:
Hi there, I am trying to launch a program called AmiBroker using the command: AB = win32com.client.Dispatch("Broker.Application") However, I have a dual-core CPU and would like to launch two instances of AmiBroker. I know it is possible to run two instances simultaneously since it is easy to do manually by double-clicking the AmiBroker.exe file twice. However, when I write two lines of code like this:
12
130003
by: vithi | last post by:
Hi Any one tell me where I can get (or download) python modules win32com or win32com.client because I have to use "Dispatch" thanks
2
9306
by: Ray | last post by:
Hi, I need to use cell's background color. when I record a macro from excel, it shows: Rows("7:7").Select With Selection.Interior .ColorIndex = 8 .Pattern = xlSolid
11
7752
by: Bill Davy | last post by:
I am trying to edit Contacts in Outlook. This is so I can transfer numbers from my address book which is an Excel spreadsheet to my mobile phone. I came across the following snippet of code which enabled me to the contacts at least list. I had to root around to discover CdoDefaultFolderContacts (though it was guessable; how could I enumerate win32com.client.constants?). I now want to work through the Contacts in Outlook patching in...
4
3615
by: sterling | last post by:
I'm curious as to why the difference between IDLE and pythonWin when using win32com. opening an excel file, i've attempted to grab the chart information out of the file. commands like co = ChartObjects(1) works in pythonWin but doesn't work in IDLE. however, on both co = chartobjects(1) works just fine.
2
10532
by: RyanN | last post by:
Greetings, I'm trying to get DispatchWithEvents() to work with HyperAccess (terminal program) without much success. I've done a bunch of searching and found some examples using IE: This works but doesn't handle the "Event Driven Functions": haObj = win32com.client.Dispatch(r"HAWin32") And so does this Internet Explorer Example:
0
9706
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9579
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10578
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10321
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10077
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9152
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
4300
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3820
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2991
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.