javascript从数据库取出数据后赋给变量出现问题,急需解决...

jonas401 2005-01-24 11:17:12
var strMusicName = "";
var nMusicId = 0;

var DataSet=new ActiveXObject("ADODB.Recordset");
DataSet.ActiveConnection=Connection;
DataSet.Open( "Select Top 1 MusicId, MusicName From Db_MusicList Order By MusicId" );
if ( !DataSet.EOF )
{
nMusicId = DataSet( "MusicId" );
strMusicName = DataSet( "MusicName" );

document.write( strMusicName & "<br>" );

DataSet.Close();

document.write( strMusicName );
}else{
DataSet.Close();
}

这样输出的值居然不一样,如果

D:\MP3\独自去偷欢.mp3(正确的值)
undefined

结论是,只要DataSet一关闭,它所赋值的变量的值也失效了,但我想保留它的值,该怎么办?
...全文
139 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
var strMusicName = "";
var nMusicId = 0;
var echoStr="";//========================

var DataSet=new ActiveXObject("ADODB.Recordset");
DataSet.ActiveConnection=Connection;
DataSet.Open( "Select Top 1 MusicId, MusicName From Db_MusicList Order By MusicId" );
if ( !DataSet.EOF )
{
nMusicId = DataSet( "MusicId" );
strMusicName = DataSet( "MusicName" );
echoStr=strMusicName;//===================================

document.write( echoStr & "<br>" );

DataSet.Close();

document.write( echoStr );
}else{
DataSet.Close();
}
ttyp 2005-01-25
  • 打赏
  • 举报
回复
try

nMusicId = DataSet( "MusicId" ) + "";
friendlyFour 2005-01-25
  • 打赏
  • 举报
回复
那就把DataSet的值付给其他变量后在关闭DataSet。
jonas401 2005-01-24
  • 打赏
  • 举报
回复
不是我没得到我想要的结果,而是我它赋给变量以后,DataSet关闭之前变量的值正常
当DataSet关闭以后变量的值也失效了
friendlyFour 2005-01-24
  • 打赏
  • 举报
回复
是不是你的结果集没有循环输出啊。像在asp中的
if not rs.eof then
do while not rs.eof
...
rs.movnext
loop
end if
rs.close
jonas401 2005-01-24
  • 打赏
  • 举报
回复
自己ding
jonas401 2005-01-24
  • 打赏
  • 举报
回复
事实确是这样

我不只实践过一次,
myvicy 2005-01-24
  • 打赏
  • 举报
回复
不大可能啊~~!

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧