我已經從早期的Windows移動應用開發。 我有表:Windows Mobile:內部連接查詢不起作用
assetNo nvarchar(20)
roomno nvarchan(8)
status ncarchar(4)
Asset no RoomNo Status
001 DPN 0
002 TRG 4
003 SHW 1
004 ROOM 1
005 DPN 1
.
.
我想狀態和分離狀態0和所有的紀錄,小組收集由roomno
輸出將是這樣的:
RoomNo Status0 sllstatus
DPN 1 2
TRG 0 1
SHW 0 1
ROM 1 1
我有查詢像這樣:
SELECT a.RoomNo , a.Scanmanual AS ScanManual, b.allscan AS AllScan
FROM
(SELECT roomno, count(*) AS scanmanual
FROM assets
WHERE status = 0
GROUP BY roomno) AS a
INNER JOIN
(SELECT roomno, count(*) AS allscan
FROM assets
GROUP BY roomno) AS b ON (a.roomno=b.roomno)
這個查詢在sql中運行得很好ER緊湊版,但是當我在Visual Studio 2005中運行具有錯誤 「有一個錯誤解析查詢,[令牌行號= 1,Toker OFSET = 78,在誤差=選擇]」
private void Summary_Load(object sender, EventArgs e)
{
Cursor.Current = Cursors.WaitCursor;
string sql ="SELECT a.RoomNo , a.Scanmanual AS ScanManual, b.allscan AS AllScan from (select roomno, count(*) AS scanmanual from assets WHERE status = 0 group by roomno) AS a inner join (select roomno, count(*) AS allscan FROM assets group by roomno) as b on(a.roomno=b.roomno)"
SqlCeDataAdapter da = new SqlCeDataAdapter();
try
{
DataSet ds = new DataSet();
da.SelectCommand = new SqlCeCommand(sql, dbConn);
da.Fill(ds, "Assets");
dataGrid.DataSource = ds.Tables["Assets"];
}
catch (SqlCeException ex)
{
MessageBox.Show(ex.Message,
"DB Operation SDF", MessageBoxButtons.OK, MessageBoxIcon.Exclamation,
MessageBoxDefaultButton.Button1);
}
finally
{
Cursor.Current = Cursors.Default;
da.SelectCommand.Dispose();
da.Dispose();
}
}
我應該怎麼做才能解決這個錯誤?謝謝
SQL查詢中的'status'是SQL關鍵字還是SQL表格字段?也許Visual Studio也不知道。 – jp2code