Bug #20308 | ExecuteReader returns unknown sql type when sum() is used in select | ||
---|---|---|---|
Submitted: | 7 Jun 2006 5:36 | Modified: | 14 Jun 2006 12:04 |
Reporter: | hari babu | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | Connector / ODBC | Severity: | S1 (Critical) |
Version: | 3.51 | OS: | Windows (XP / Windows 2000) |
Assigned to: | CPU Architecture: | Any |
[7 Jun 2006 5:36]
hari babu
[13 Jun 2006 12:06]
Tonci Grgin
Hi Hari, thanks for your problem report. Can you please post exact connect string?
[14 Jun 2006 12:04]
Tonci Grgin
Hari, since you provided no actual data for this test, I used my own: CREATE TABLE `tblTransactions` ( `iTransactionId` int(11) NOT NULL auto_increment, `iUserId` int(11) default NULL, `iAmount` int(11) NOT NULL, `vFirstName` varchar(255) default NULL, `vLastName` varchar(255) default NULL, `cCountryCode` char(2) default NULL, `vAddress` varchar(255) default NULL, `vCity` varchar(255) default NULL, `vZipCode` varchar(255) default NULL, `vEmail` varchar(255) default NULL, `vReferenceNr` varchar(255) default NULL, `vSecondaryReferenceNr` varchar(255) default NULL, `iIPAddressUser` int(11) unsigned NOT NULL, `dTime` datetime NOT NULL, `iNumberOfAttempts` int(11) NOT NULL default '1', `eTransactionState` enum('PENDING','REDIRECTED','ADDED','FINISHED','FAILED') NOT NULL default 'PENDING', `vTransactionResultCode` varchar(255) default NULL, `dRecurringNextDate` date default NULL, `eRecurringInterval` enum('NONE','WEEK','TWO_WEEKS','MONTH','QUARTER','YEAR','ENDED') default 'NONE', `iCreditCardType` int(11) default NULL, `iRecieptMailSent` tinyint(1) NOT NULL default '0', PRIMARY KEY (`iTransactionId`), KEY `id_date_ind` (`iTransactionId`,`dTime`), KEY `userid_date_ind` (`iUserId`,`dTime`), KEY `userid_ind` (`iUserId`), KEY `ref_nr` (`vReferenceNr`) ) ENGINE=MyISAM AUTO_INCREMENT=1002 DEFAULT CHARSET=latin1; Test case works as expected, showing both sums: Dim conn As System.Data.Odbc.OdbcConnection Dim mydr As System.Data.Odbc.OdbcDataReader Dim mycmd As System.Data.Odbc.OdbcCommand conn = New System.Data.Odbc.OdbcConnection() With conn .ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" & _ "SERVER=munja;" & _ "PORT=3307;" & _ "DATABASE=test;" & _ "USER=root;" & _ "PASSWORD=;" & _ "OPTION= 1 + 2 + 3 + 8 + 32 + 2048 + 16384" .Open() If .State = 1 Then mycmd = New System.Data.Odbc.OdbcCommand("SELECT SUM(t.iUserID) AS a, SUM(t.iAmount) AS c FROM tblTransactions AS t", conn) mydr = mycmd.ExecuteReader() If mydr.HasRows Then mydr.Read() MsgBox(System.Convert.ToString(mydr.GetInt32(mydr.GetOrdinal("a")))) MsgBox(System.Convert.ToString(mydr.GetInt32(mydr.GetOrdinal("c")))) End If mydr.Close() End If .Close() End With MySQL server 5.0.23-debug on Suse 10 WinXP Pro SP2 NET framework 2.0.50727 ADO 2.0
[17 Oct 2007 13:43]
Susanne Ebrecht
I fixed the version number at this bug report. This should be a MyODBC version 3.51 bug report.