【求助】查询语句在Access中可执行,但在程序中没数据

未央舫 2016-03-12 05:23:27
首先:程序中,数据库连接没问题,简单的查询操作也没问题,如:select * from Table之类。
但执行类似sqlStr=" "这些复杂的语句就没数据了,如下面代码,
sqlStr语句在Access执行查询可以得到数据;在程序测试中dt表为空。
求教各位大神,到底是什么原因?


string sqlStr = "select name from MSYSOBJECTS where type=1 and flags=0";
DataTable dt = DBHelper.GetDsFromSql(sqlStr).Tables[0];


class DBHelper
{
public static DataSet GetDsFromSql(string sqlStr)
{
string strConnection = "Provider = Microsoft.ACE.OLEDB.12.0;";
strConnection += @"Data Source =" + AppDomain.CurrentDomain.BaseDirectory + "" + Consts.c_AccessName + ".accdb";
OleDbConnection conn = new OleDbConnection(strConnection);
DataSet ds = new DataSet();
try
{
OleDbDataAdapter da = new OleDbDataAdapter(sqlStr, conn);
conn.Open();
da.Fill(ds);
}
catch (Exception e)
{
ds.Tables.Add("TempTable");
}
conn.Close();
return ds;
}
}
...全文
252 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
未央舫 2016-03-18
  • 打赏
  • 举报
回复
最后只能转换成.mdb格式了
未央舫 2016-03-14
  • 打赏
  • 举报
回复
问题找到了, 不过修改Msyobjects的权限修改在Access2010中怎么修改,实在找不到选项在哪
dalmeeme 2016-03-13
  • 打赏
  • 举报
回复
默认的情况是admin对msysobjects没有任何权限,包括查询。 access 2003下: 工具 -> 选项 -> 视图 -> 隐藏对象、系统对象前面的勾选上。 工具 -> 安全 -> 用户与组的权限,在对象名称中选定 MSysObjects ,然后权限中设置其权限。

7,712

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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