日期:2014-05-18  浏览次数:20933 次

ExecuteScalar()使用
public string strDB = Application.StartupPath + @"\data\C30.accdb";
  public OleDbConnection oledbCon;
  public OleDbCommand oledbCmd;


  string strFile = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + strDB;
  string strCmd = "select max(dqgls) from tb_jyjl";
  oledbCon = new OleDbConnection();
  oledbCmd = new OleDbCommand();
   
  oledbCon.ConnectionString = strFile; //创建连接
  oledbCon.Open();

  oledbCmd.CommandText = strCmd;  
  oledbCmd.Connection = oledbCon;
   
  this.txt_scgls.Text=oledbCmd.ExecuteScalar().ToString();



连接的是2007的ACCESS数据库,ExecuteScalar()执行查询,并返回查询所返回的结果集中第一行的第一列,可我这么写为什么执行结果不显示呢?

------解决方案--------------------
不可能,你断点测试过了没?
------解决方案--------------------
你在oledbCon.Open();
这一句上加try-catch试试,看看有没有异常,是否连到了服务器。自己加个断点调试一下
------解决方案--------------------
Access 表和列都要加[]括号

string strCmd = "select max([dqgls]) from [tb_jyjl]";