向数据库 插入一条 语句
string formula = " insert into [tb_attendanceformula](id, organizationid, itemname, itemcode, formulacode, formulaname, name, category, orderby, explain) "; formula += "values (newid(),'A8A7DDF4-5DD4-4CE8-9087-868A911F3DA3','基础项','BasicItem', 'S0001 / 22.5 / 8','{基本工资等级} / 22.5 / 8','',0,1,'')";
if (db.Prepare(formula).ExecNonQuery() > 0) { }
为什么‘ {’不能 插入 报错 格式不正确 去掉‘{’就成功了
把具体错误贴出来下,{}不算是关键字。
DataPortal.Update 失败 (System.FormatException: 输入字符串的格式不正确。
在 Ship.Core.Data.SqlServer.SqlStatement.ExecNonQuery(Object[] parameters) 位置 f:\ship.net\Ship.Core.Data.SqlServer\Sqless\SqlStatement.cs:行号 84
在 Ship.Core.Data.AttendanceFormulaFactory.Fetch(AttendanceFormulaCriteriaData Criteria) 位置 f:\ship.net\Ship.Core.Data\Factory\Attendance\AttendanceFormulaFactory.cs:行号 54
在 Ship.Core.Models.AttendanceFormulaList.GetDataCommand.DataPortal_Execute() 位置 f:\ship.net\Ship.Core.Models\Attendance\AttendanceFormulaList.cs:行号 107
在 lambda_method(Closure , Object , Object[] )
在 Csla.Reflection.MethodCaller.CallMethod(Object obj, DynamicMethodHandle methodHandle, Boolean hasParameters, Object[] parameters))
@梁娜:把最终的sql语句贴下呢?用SQL profiler监视的sql语句。
@幻天芒: SQL profiler 监视的sql语句 中 没有 找到 这条插入语句 是不是 错误语句不显示呢?
@梁娜: 不会不显示的,是不是你勾选的监视条件不够?
把{}转义一下 \{}\
转义一下,或者把它写在参数,参数是安全的,也是通用的,虽再拼sql了。
看看db.Prepare(formula)里面做了什么