背景:1.前台:jquery 提交資料
2.後台:owin c# 處理接收資料
3.資料庫: postgresql
問題描述: 後台接收到前台的資料,拼裝乙個 sql 語句
updatewbs_data
set work_data=
'',work_state=
1where pwbs_id=
124
我在後台c# 用 npgsql執行時總是報錯:invalid input syntax for type json
publicstatic
string executesql(string
strsql)
", strsql);
string returnvalue = string
.empty;
npgsqlconnection connection = new
npgsqlconnection(getconnectionstring());
npgsqlcommand command = new
npgsqlcommand();
command.connection =connection;
command.commandtext =strsql;
try";
console.writeline("
","--------------------you are lucky----------------");
returnvalue = "";
}catch
(exception err)";}
finally
return
returnvalue;
}
奇怪的是,當我把這個拼裝的sql語句放在後台服務上psql 執行時,居然還通過了!
why??????
經過測試發現:
我在獲取生成json 串時,有個replace(/\s/g, ' ')(js**中)沒有加,而當我加上時就不再有這個問題
然而,另一位大神給出最本質的原因:
我在psql 中執行sql ,實際是做了強制轉化,而我在c# 中執行是沒有經過處理的應該把sql變成這樣:
update tablename setcolumn
= value::json where id = _id;
即我上面的**應該轉化為:
updatewbs_data
set work_data=
''::json,work_state=
1where pwbs_id=
124
ASP執行環境
一 建立 asp 執行環境 首先建立乙個空的目錄,在你喜歡的位置,假設是 d websvr。將 netbox.exe 複製到這個目錄,然後在目錄中創 上面的 摘自 建立乙個 web 伺服器 其中加粗的部分是預設檔名,如果你的應用不同,可以自行新增修 改。二 複製 asp 應用 在目錄中再建立乙個子目...
Python執行環境
python直譯器啟動 一,python options c cmd filename args 選項 描述 3 啟用將從python 3中刪除或更改某些功能的警告 b 阻止在匯入時建立.pyc或.pyo檔案 e 忽略環境變數 h 列印所有可用命令列選項的列表 i 在程式執行後進入互動模式 m mo...
Web執行環境
小夥伴們,當我們剛開始做專案的時候,都會提前安裝web執行環境 一般安裝的都是整合環境 這時候就會有很多小朋友問了 安裝執行環境是必要的麼?在這裡就要分情況了,如果你做的是乙個單頁面沒有涉及到後端以及資料庫的話,執行環境不安裝也可以 這種情況只適合初學者 當我們做的是乙個完整的 或者其他專案時,執行...