簡體   English   中英

從SQL Server CE獲取@@ Identity時出現“解析查詢時出錯”

[英]“Error parsing the query” while getting @@Identity from SQL Server CE

我正在編寫一個簡單的桌面應用程序,其中使用本地SQL數據庫(SQL Server CE)。 這是有問題的部分:

SqlCeConnection conn = new SqlCeConnection("Data Source=|DataDirectory|\\App_Data\\Rosters.sdf");
System.Data.SqlServerCe.SqlCeCommand cmd = new SqlCeCommand();
cmd.Connection = conn;

cmd.CommandText = String.Format("Insert into Teams (LeagueID, TeamName, Color) values ({0},'{1}','{2}');SELECT @@IDENTITY;", leagueID, txtTeamName.Text.Replace("'", "''"), txtColor.Text.Replace("'", "''"));
conn.Open();
int teamID = (int)cmd.ExecuteScalar();
conn.Close();

問題是調用cmd.ExecuteScalar時出現異常。

異常消息顯示為

{“解析查詢時出錯。[令牌行號= 1,令牌行偏移量= 97,令牌錯誤= SELECT]”}

我已經通過直接查詢在完全相同的數據庫中運行了完全相同的命令,並且運行良好-這使我認為問題不在於SQL Server CE。

任何幫助將不勝感激。

SQL Server Compact每個命令僅支持一條語句,因此首先使用executenonquery運行insert語句,然后使用executescalar獲取標識,並且切記不要關閉兩者之間的連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM