0
我正在使用SQL Server Compact Edition。我嘗試從最大日期的數據庫中刪除數據,我嘗試查詢它完美的工作,但是當我在我的程序中執行時,轉而刪除所有不基於我創建的查詢的數據。無法使用SQL Server Compact Edition中的條件刪除數據
這裏是我的代碼
string sqlCom="";
sqlCom = " delete from " + tableName; ;
sqlCom += " where messageid not in(";
sqlCom += " select messageid from tabmessageinclient";
sqlCom += " where convert(nvarchar(10),dtmessagetime,101) ";
sqlCom += " in (select max(convert(nvarchar(10),dtmessagetime,101)) from tabmessageinclient))";
SqlCeConnection ceCon = new SqlCeConnection(Properties.Settings.Default.MyConnection);
if (ceCon.State == System.Data.ConnectionState.Open)
{ ceCon.Close(); }
ceCon.Open();
SqlCeCommand cmd = new SqlCeCommand();
cmd.Connection = ceCon;
cmd.CommandText = sqlCom;
cmd.ExecuteNonQuery();
沒有人知道什麼是錯我的代碼,遺憾的英語不好
使用@符號在多行上寫字符串,目前這對我來說是不可讀的。也嘗試格式化您的查詢... – mybirthname
[SQL注入警報](http://msdn.microsoft.com/en-us/library/ms161953%28v=sql.105%29.aspx) - 你應該**不**將您的SQL語句連接在一起 - 使用**參數化查詢**來避免SQL注入 –