[英]“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.