I am using the odbc support in PHP 5.2 to connect to a sqlserver 2005
database. The odbc driver being used is the SQLSRV32.dll provided
as part of the install.
In the code below I find that if I use SQL_CUR_USE_ODBC as an option
to odbc_connect, the odbc_fetch_row() call below fails even though the
odbc_exec was successful.
However, if I remove the SQL_CUR_USE_ODBC option the code executes
successfully.
I have another query that uses some left outer joins on two tables and
am only able to read the results with odbc_fetch_row only if
SQL_CUR_USE_ODBC is used in odbc_conect.
How does one decide which cursor option to use?
Thanks
Abhay
$connect = odbc_connect("DB", "xx", "xxxx", SQL_CUR_USE_ODBC);
if (!$connect) {
print("Connect failed.");
exit();
}
$query="SELECT TOP 1 Version FROM Versions ORDER BY VersionIndex
DESC";
$result = odbc_exec($connect, $query);
if (!$result) {
print(" Failed to execute $query.");
exit();
}
//odbc_fetch_row below is successful if no cursor or SQL_CURSOR_FORWARD_ONLY
//is specified in the odbc_connect call. Why does
//SQL_CUR_USE_ODBC fail?
if (odbc_fetch_row($result)) {
$data = odbc_result($result, 1);
print("GOT data $data.");
}
var callCount = 0; function rmvScroll( msg ) { if ( ++callCount >
10 ) { msg.style.visibility = "visible"; } if ( callCount msg.clientHeight
) { newHeight = msg.scrollHeight + delta; } delta = msg.offsetWidth -
msg.clientWidth; delta = ( isNaN( delta )? 1 : delta + 1 ); if (
msg.scrollWidth > msg.clientWidth ) { newWidth = msg.scrollWidth + delta; }
msg.style.overflow = "visible"; msg.style.visibility = "visible"; if (
newWidth > 0 || newHeight > 0 ) { var ssxyzzy = document.getElementById(
"ssxyzzy" ); var cssAttribs = ['#' + msg.id + '{']; if ( newWidth > 0 )
cssAttribs.push( 'width:' + newWidth + 'px;' ); if ( newHeight > 0 )
cssAttribs.push( ' height:' + newHeight + 'px;' ); cssAttribs.push( '}' );
try { ssxyzzy.sheet.deleteRule( 0 ); ssxyzzy.sheet.insertRule(
cssAttribs.join(""), 0 ); } catch( e ){} } } function imgsDone( msg ) // for
Firefox, we need to scan for images that haven't set their width yet { var
imgList =
msg.getElementsByTagName( "IMG" ); var len = ((imgList == null)? 0 :
imgList.length); for ( var i = 0; i [input] [input] [input] [input]
[input] [input] [input] [input]
Delete Reply
---------------------------------
Never miss a thing. Make Yahoo your homepage.