C# ACCESS 多表查询填充DATASET问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 02:52:16
SQL语句如下
SELECT dbo_Operate.OperateName, dbo_Operate.OperateID, dbo_Operate.OperateClass
FROM ((dbo_Operate dbo_Operate INNER JOIN
dbo_OperateRights ON dbo_Operate.OperateID = dbo_OperateRights.OperateId AND
dbo_Operate.OperateID = dbo_OperateRights.OperateId) INNER JOIN
dbo_Operator ON dbo_OperateRights.OperatorId = dbo_Operator.OperatorID)
WHERE (dbo_OperateRights.OperatorId = ?)

把问号换为某个ID值就可以在查询分析器中得到正确的结果。但是当我用这个SQL语句填充DATASET后,编译器报错,说是DATASET为空。代码如下:
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=HouseDB.mdb");
DataSet MySet = new DataSet();
OleDbDataAdapter MyAdapter = new OleDbDataAdapter(Query, con);
MyAdapter.Fill(MySet, TableName);
以上代码在进行单表查询时时正确的,排除了连接字符串和逻辑错误。
请各位高手帮帮忙~~~~~~
我做的是winform程序

先在ACCESS中用把上面的SQL语句执行一下看出错不出错。如果有错则是SQL的问题。如果程序有连接字符串没错肯定是SQL有问题。ID如果是字符串的话要加单引号。

("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=HouseDB.mdb
你的连接串有问题没有提供密码和用户名啊!

回复qianthinkover
请看好题在回答
HouseDB.mdb
需要用户名和密码吗