我的代码
  if messagebox(handle,pchar('确实要备份数据吗?'),'提示',mb_yesno+mb_iconquestion) =idno then exit;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Text :='Backup database MRP to disc='''+'c:\MRP.mdf'+''' with init';
  try
  ADOQuery1.ExecSQL  ;
  showmessage('数据备份成功');
  exit;
  except
  showmessage('数据备份失败');
  exit;
  end;老是提示我“disc不是可以识别的‘DEVIE TYPE’选项” 为什么呢?
还有 SQL数据库的备份好象是.BAK文件 .mdf是什么东东  
我想在备份文件名后自动加上日期 例如2007年6月28日的备份就为 MRP20070628 怎么写代码
还有 还原的时候 我想让程序自动搜索备份日期最后的那一个来还原 怎么写代码 谢谢各位GG解答一下 
PS:本人很菜  问题很幼稚 各位GG不要取笑啊

解决方案 »

  1.   

    是.bakformatdatetime('yyyyMMdd',now)  在文件名後加這一句應該可以幫到你
      

  2.   

    楼上的是这个意思吧 
    ADOQuery1.SQL.Text :='Backup database MRP to disc='''+'c:\MRP'+formatdatetime('yyyyMMdd',now)+'.bak'+''' with init';还是那提示 哪儿错了?谢谢
      

  3.   

    你要把錯誤說出來
    還是之前那個錯誤嗎?這是我當時寫的你看看行不行'backup database '+sName+' to disk='''+sPath+'''';'restore dataBase '+sData+ ' from disk='''+ sBackupPath  +
      ''' with recovery, move ''test_Data'' to '''+sMDF+''',move ''test_log'' to '''+sLDF+'''';
      

  4.   

    Rtrim(Cast(DATEDIFF(minute, '08-17-2006 00:00:00', getdate()) as Varchar(20)))
    这个是获取时间的,至于其他的说不清楚。你自己研究研究吧
      

  5.   

    不是楼上所说的那个问题 
    还是谢谢关注 
    郁闷了 怎么就不行了呢 我在查询分析器里运行 
    Backup database MRP to disc= 'c:\MRP20070628.bak'   with init
    也是提示“服务器: 消息 155,级别 15,状态 1,行 1
    'disc' 不是可以识别的 Device Type 选项。”
    大家看看这句话有问题吗?
      

  6.   

    Backup database MRP to  "c:\MRP20070628.bak"  with init
    改成这样 查询分析器就通过了 但是一运行就提示 
    在 sysdevices 中没有备份设备 'c:\MRP20070628.bak' 的条目。请更新 sysdevices 后重新运行语句。
    这怎么办啊?请指点一二。
      

  7.   

    backup database aj2003js to disk = 'd:\aj03js'
    我试了是对的
    是disk  不是disc