看板 Database 關於我們 聯絡資訊
小弟是使用 C# 連結 SQL Compact Edtition 想要在 Insert 之後馬上取得新增的資料 ID 因此使用了 SqlCeCommand.ExecuteScalar() 參考網路上的說明 應該是會回傳我剛剛 Insert 的 ID 實際用起來 這個 function 總是回傳 Null 但資料確實有 Insert 進去沒錯 我的 SQL 語法是這樣的 INSERT INTO schedule (name, on_hour, on_minute, off_hour, enabled, off_minute) VALUES (@name,@on_hour,@on_minute,@off_hour,@enabled,@off_minute) 完整的 C# 程式碼如下 string sql = @" INSERT INTO schedule (name, on_hour, on_minute, off_hour, enabled, off_minute) VALUES (@name,@on_hour,@on_minute,@off_hour,@enabled,@off_minute) "; SqlCeCommand cmd = _connection.CreateCommand(); cmd.CommandText = sql; cmd.Parameters.AddWithValue("@name", schedule.name); cmd.Parameters.AddWithValue("@on_hour", schedule.on_hour); cmd.Parameters.AddWithValue("@on_minute", schedule.on_minute); cmd.Parameters.AddWithValue("@off_hour", schedule.off_hour); cmd.Parameters.AddWithValue("@off_minute", schedule.off_minute); cmd.Parameters.AddWithValue("@enabled", schedule.enabled); return Convert.ToInt32(cmd.ExecuteScalar()); 一直回傳 Null 然後經過 Convert 變成 0 ... 不知道版上有沒有跟我一樣經驗的 可以替小弟解惑 感謝 ~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.183.60
lin1987www:sql後面要加 ;SELECT CAST(scope_identity() AS int); 07/03 19:30
twoseven:我是在後面加上 SELECT @@identity 07/03 22:26