標籤:style http color ar os 使用 sp 資料 div
一:引用MySQL使用基於Parameter方式代碼,總是提示:“Column ‘列名‘cannot be null”解決
MySQL使用基於Parameter方式代碼,總是提示:“Column ‘列名‘ cannot be null” 解決方案1:直接在連接字串裡面加一個 oldsyntax=true 即可。 例如:?
| 1 |
server=127.0.0.1;user id=root;password=;database=itemdb;oldsyntax=true |
解決方案2:將語句中的 @ 替換為 ? 例如: ?
| 1234567891011121314151617 |
StringBuilder strSql=new StringBuilder(); strSql.Append("insert into test("); strSql.Append("name)"); strSql.Append(" values ("); strSql.Append("?name)"); MySqlParameter[] parameters = { new MySqlParameter("?name", MySqlDbType.VarChar,45)}; parameters[0].Value = model.name; DbHelperMySQL.ExecuteSql(strSql.ToString(),parameters); |
二:使用Odbc連結mysql時parameter參數設定
當用ODBC連結MySQL時,@Parameter設定sql參數時卻發現值無法傳達到資料庫,原來MySql搞特殊化用的是?號。網上說用?Parameter代替@Parameter,但試了還是不行,最後得出結論是直接用?號就好了,下面是例子:
insert into table_name(name,intro) values(?,?)
cmd.Parameters.Add("1","value1");
cmd.Parameters.Add("2","value2");
既然parameter參數全部為?號,那麼設定參數值時就只能按順序了,不像@Parameter那樣可以用索引值對來對應。
如果用MySqlContector時操作就不同咯。。。。。。。就是第一種方式。
C#開發MySQL資料庫程式時需要注意的幾點